static String encodeWithAnnotations(
      TypeMirror type, ImmutableList<AnnotationMirror> extraAnnotations) {
    return encodeWithAnnotations(type, extraAnnotations, ImmutableSet.of());
  }
Encodes the given type and its type annotations. The class comment for {@link TypeEncoder}
covers the details of annotation encoding.

@param extraAnnotations additional type annotations to include with the type
value/src/main/java/com/google/auto/value/processor/TypeEncoder.java