static Class typeToClass(Type type) { if (type == null) null; if (type cast Class) ret type; if (type cast ParameterizedType) ret optCast Class(type.getRawType()); if (type cast GenericArrayType) ret typeToClass(type.getGenericComponentType()).arrayType(); if (type cast IResolvableClass) ret type.resolveToClass(); null; }