@Override
	public LightweightTypeReference newReferenceTo(Class<?> type, TypeReferenceInitializer<? super ParameterizedTypeReference> init) {
		if (init == null) {
			throw new NullPointerException("initializer");
		}
		JvmType rawType = getServices().getTypeReferences().findDeclaredType(type, getContextResourceSet());
		if (rawType == null) {
			return newUnknownTypeReference(type.getName());
		}
		if (rawType.eClass() == TypesPackage.Literals.JVM_ARRAY_TYPE) {
			throw new IllegalArgumentException("given type is an array type: " + type);
		}
		ParameterizedTypeReference result = newParameterizedTypeReference(rawType);
		return init.enhance(result);
	}
@ Override public LightweightTypeReference newReferenceTo ( Class < ? > type , TypeReferenceInitializer < ? super ParameterizedTypeReference > init ) { if ( init == null ) { throw new NullPointerException ( "initializer" ) ; } JvmType rawType = getServices ( ) . getTypeReferences ( ) . findDeclaredType ( type , getContextResourceSet ( ) ) ; if ( rawType == null ) { return newUnknownTypeReference ( type . getName ( ) ) ; } if ( rawType . eClass ( ) == TypesPackage . Literals . JVM_ARRAY_TYPE ) { throw new IllegalArgumentException ( "given type is an array type: " + type ) ; } ParameterizedTypeReference result = newParameterizedTypeReference ( rawType ) ; return init . enhance ( result ) ; }
Creates a references to the given class or returns an {@link UnknownTypeReference} if no
JRE is available. If the type is available, the given acceptor is used to initialize it further.