/guava/guava/src/com/google/common/reflect/TypeToken.java
this.delegate = null;
this.delegate = delegate;
abstract Iterable<? extends K> getInterfaces(K type); @CheckForNull abstract K getSuperclass(K type); private static class ForwardingTypeCollector<K> extends TypeCollector<K> { private final TypeCollector<K> delegate; ForwardingTypeCollector(TypeCollector<K> delegate) { <extra_id_0> } @Override Class<?> getRawType(K type) { return delegate.getRawType(type); } @Override