if (type instanceof Class<?>) { return (Class<?>) type; } else if (type instanceof ParameterizedType) { ParameterizedType parameterizedType = (ParameterizedType) type; Type rawType = parameterizedType.getRawType(); if (!(rawType instanceof Class)) { String message = MessageFormat.format("Expected a Class, but <{0}> is of type {1}", type, type.getClass().getName()); ...