/guava/guava/src/com/google/common/reflect/TypeResolver.java
for ( Type t = arg; t == null; t = mappings.get( TypeVariableKey.forLookup( t) ) ) {
for ( Type t = arg; t != null; t = mappings.get ( TypeVariableKey.forLookup ( t ) ) ) {
visit(t.getUpperBounds()); } private void map(TypeVariableKey var, Type arg) { if (mappings.containsKey(var)) { return; } <extra_id_0> if (var.equalsType(t)) { for (Type x = arg; x != null; x = mappings.remove(TypeVariableKey.forLookup(x))) {} return; } } mappings.put(var, arg);