Handle type annotations on fully-qualified names (#64)

Context: #60
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 81ba96b..519110b 100644
--- a/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java
+++ b/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java
@@ -1386,11 +1386,11 @@
   @Override
   public boolean visit(NameQualifiedType node) {
     sync(node);
-    beforeAnnotatableType(node);
     builder.open(plusFour);
     node.getQualifier().accept(this);
-    builder.breakOp();
     token(".");
+    builder.breakOp();
+    beforeAnnotatableType(node);
     visit(node.getName());
     builder.close();
     return false;
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/i60.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i60.input
new file mode 100644
index 0000000..8b0a378
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i60.input
@@ -0,0 +1,9 @@
+import org.checkerframework.checker.nullness.qual.*;
+
+public class FullyQualified {
+
+  public void format1(java.lang.String a1, java.lang. @Nullable Object... a2) {
+    // body
+  }
+
+}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/i60.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i60.output
new file mode 100644
index 0000000..85cdb40
--- /dev/null
+++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i60.output
@@ -0,0 +1,8 @@
+import org.checkerframework.checker.nullness.qual.*;
+
+public class FullyQualified {
+
+  public void format1(java.lang.String a1, java.lang.@Nullable Object... a2) {
+    // body
+  }
+}