protected JvmTypeReference ref(java.lang.reflect.Type type, JvmTypeReference... arguments) {
   JvmTypeReference result = factory.createTypeReference(type);
   if (arguments.length > 0) {
     for (JvmTypeReference typeArgument : arguments) {
       ((JvmParameterizedTypeReference) result).getArguments().add(typeArgument);
     }
   }
   Resource syntheticResource = getSyntheticResource();
   syntheticResource.getContents().add(result);
   EcoreUtil.resolveAll(syntheticResource);
   return result;
 }