@Override
    protected StringBuilder defaultAction(TypeMirror type, StringBuilder sb) {
      return sb.append(type);
    }
Equivalent to {@code visit(type, sb)} or {@code type.accept(sb)}, except that it fixes a bug
with javac versions up to JDK 8, whereby if the type is a {@code DeclaredType} then the
visitor is called with a version of the type where any annotations have been lost. We can't
override {@code visit} because it is final.
value/src/main/java/com/google/auto/value/processor/TypeEncoder.java