code: static String encode(TypeMirror type) {
      StringBuilder sb = new StringBuilder();
      return type.accept(ENCODING_TYPE_VISITOR, sb).toString();
    }
docs: Returns the encoding for the given type, where class names are marked by special tokens. The
  encoding for {@code int} will be {@code int}, but the encoding for {@code
  java.util.List<java.lang.Integer>} will be {@code `java.util.List`<`java.lang.Integer`>}.