code: public static boolean isOfClass(Type type, Class<?> clazz) {
  		if(isSimple(type)) {
  			logger.trace("simple: {}", ((Class<?>)type));
  			return ((Class<?>)type) == clazz;
  		} else if(isGeneric(type)) {
  			logger.trace("generic: {}", (((ParameterizedType)type).getRawType()));
  			return (((ParameterizedType)type).getRawType()) == clazz;
  		}
  		return false;
  	}
docs: Checks if the given type and the give class are the same; this check is
  trivial for simple types (such as <code>java.lang.String</code>), less so
  for generic types (say, <code>List&lt;String&gt;</code>), whereby the
  generic (<code>List</code> in the example) is extracted before testing
  against the other class.
  
  @param type
  the type to be tested.
  @param clazz
  the other class.