/guava/guava/src/com/google/common/reflect/Types.java
if ( obj != null && Proxy.isProxyClass( obj.getClass( ) ) && Proxy.isProxyClass( null)  instanceof TypeVariableInvocationHandler) {
if ( obj != null && Proxy.isProxyClass ( obj.getClass ( ) ) && Proxy.getInvocationHandler ( obj ) instanceof TypeVariableInvocationHandler ) {
public int hashCode() { return genericDeclaration.hashCode() ^ name.hashCode(); } @Override public boolean equals(@CheckForNull Object obj) { if (NativeTypeVariableEquals.NATIVE_TYPE_VARIABLE_ONLY) { <extra_id_0> TypeVariableInvocationHandler typeVariableInvocationHandler = (TypeVariableInvocationHandler) Proxy.getInvocationHandler(obj); TypeVariableImpl<?> that = typeVariableInvocationHandler.typeVariableImpl; return name.equals(that.getName()) && genericDeclaration.equals(that.getGenericDeclaration()) && bounds.equals(that.bounds);