code: private TypeRef resultType()
    {
      Type[] parameters = _method.getGenericParameterTypes();
  
      for (Type parameter : parameters) {
        TypeRef type = TypeRef.of(parameter);
  
        if (Result.class.equals(type.rawClass())) {
          TypeRef resultTypeRef = type.param(0);
  
          return resultTypeRef;
        }
      }
  
      return null;
    }
docs: /*
  private FindQueryVault createSingleResultQuery(String where)
  {
  FindQueryVault query = null;
  
  TypeRef resultType = resultType();
  
  if (resultType.rawClass().isAssignableFrom(_entityInfo.type())) {
  query = new FindQueryVault.ProxyResult(_driver, where);
  }
  else {
  FieldDesc field = _entityInfo.findFieldByType(resultType);
  
  query = createSingeResultFieldQuery(field, where);
  }
  
  return query;
  }
  
  private FindQueryVault createSingeResultFieldQuery(FieldDesc field,
  String where)
  {
  return new FindQueryVault.SingleFieldResult(_driver,
  _entityInfo,
  field,
  where);
  }