if (typeParam instanceof Class) { TypeVariable typeVar = typeArgs[i]; lookup.put(lookupKey(typeVar, prefix), (Class) typeParam); } else if (typeParam instanceof TypeVariable) { TypeVariable var = $.cast(typeParam); TypeVariable typeVar = typeArgs[i]; if (null != impl) { lookup.put(lookupKey(typeVar, prefix), impl); } else { Type[] ta = var.getBounds(); Type bound = ta[0]; if (bound instanceof Class) { lookup.put(lookupKey(typeVar, prefix), (Class) bound); Type rawType = ptype0.getRawType(); if (rawType instanceof Class) { lookup.put(lookupKey(typeVar, prefix), (Class) rawType); buildTypeParamImplLookup(lookupKey(typeVar, prefix), ptype0.getActualTypeArguments(), ((Class) rawType).getTypeParameters(), lookup); } else { throw new UnexpectedException("Unknown typeParam: " + ptype0);
if (typeParam instanceof Class) { TypeVariable typeVar = typeArgs[i]; lookup.put(lookupKey(typeVar, prefix), (Class) typeParam); } else if (typeParam instanceof TypeVariable) { TypeVariable var = $.cast(typeParam); TypeVariable typeVar = typeArgs[i]; if (null != impl) { lookup.put(lookupKey(typeVar, prefix), impl); } else { Type[] ta = var.getBounds(); Type bound = ta[0]; if (bound instanceof Class) { lookup.put(lookupKey(typeVar, prefix), (Class) bound); Type rawType = ptype0.getRawType(); if (rawType instanceof Class) { lookup.put(lookupKey(typeVar, prefix), (Class) rawType); buildTypeParamImplLookup(lookupKey(typeVar, prefix), ptype0.getActualTypeArguments(), ((Class) rawType).getTypeParameters(), lookup); } else { throw new UnexpectedException("Unknown typeParam: " + ptype0);