code: @Deprecated
  	public static Class<?> getRawType(Type type) {
  		if (type instanceof Class) {
  			return (Class<?>) type;
  		} else if (type instanceof ParameterizedType) {
  			return getRawType(((ParameterizedType) type).getRawType());
  		} else if (type instanceof TypeVariable<?>) {
  			return getRawType(((TypeVariable<?>) type).getBounds()[0]);
  		}
  		throw new IllegalStateException("unknown type: " + type);
  	}
docs: Given a type, this method resolves the corresponding raw type.
  
  This method works if {@code type} is of type {@link Class}, or {@link ParameterizedType}.
  Its shortcoming is that it cannot resolve {@link TypeVariable} and will always return {@code Object.class},
  not attempting to resolve the concrete type that the variable is to be substituted with.
  
  Please use tools like {@link io.crnk.core.engine.information.bean.BeanInformation} and
  {@link io.crnk.core.engine.information.bean.BeanAttributeInformation} instead.