public static Type stripGenerics(Type type) { if (type instanceof GenericArrayType) { final Type componentType = ((GenericArrayType) type).getGenericComponentType(); return new ArrayType(stripGenerics(componentType)); } else if (type instanceof ParameterizedType) { return ((ParameterizedType) type).getRawType(); } else { return type; } }