Handle type annotations on array creation expressions with initializers

Fixes #100

MOE_MIGRATED_REVID=140082878
diff --git a/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java b/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java
index ffbd421..f544f41 100644
--- a/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java
+++ b/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java
@@ -426,6 +426,7 @@
       Deque<ExpressionTree> dimExpressions = new ArrayDeque<>(node.getDimensions());
 
       Deque<List<AnnotationTree>> annotations = new ArrayDeque<>();
+      annotations.add(ImmutableList.copyOf(node.getAnnotations()));
       annotations.addAll((List<List<AnnotationTree>>) node.getDimAnnotations());
       annotations.addAll(extractedDims.dims);
 
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.input
new file mode 100644
index 0000000..b7c88f8
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.input
@@ -0,0 +1,7 @@
+public class I100 {
+  void f() {
+    Object o;
+    o = new String @A [] {"foo", "bar"};
+    o = new String @A @B [] @C [] {"foo", "bar"};
+  }
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.output
new file mode 100644
index 0000000..b7c88f8
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.output
@@ -0,0 +1,7 @@
+public class I100 {
+  void f() {
+    Object o;
+    o = new String @A [] {"foo", "bar"};
+    o = new String @A @B [] @C [] {"foo", "bar"};
+  }
+}