code: static String encodeWithAnnotations(TypeMirror type, Set<TypeMirror> excludedAnnotationTypes) {
      StringBuilder sb = new StringBuilder();
      return new AnnotatedEncodingTypeVisitor(excludedAnnotationTypes).visit2(type, sb).toString();
    }
docs: Encodes the given type and its type annotations. The class comment for {@link TypeEncoder}
  covers the details of annotation encoding.
  
  @param excludedAnnotationTypes annotations not to include in the encoding. For example, if
  {@code com.example.Nullable} is in this set then the encoding will not include this
  {@code @Nullable} annotation.