boolean isProjecting() {

      if (!returnedType.isProjecting()) {
        return false;
      }

      // Spring Data Cassandra allows List<Map<String, Object> and Map<String, Object> declarations
      // on query methods so we don't want to let projection kick in
      if (ClassUtils.isAssignable(Map.class, returnedType.getReturnedType())) {
        return false;
      }

      // Type conversion using registered conversions is handled on template level
      if (customConversions.hasCustomWriteTarget(returnedType.getReturnedType())) {
        return false;
      }

      // Don't apply projection on Cassandra simple types
      return !customConversions.isSimpleType(returnedType.getReturnedType());
    }
 Class<?> getReturnedType() {
   return returnedType.getReturnedType();
 }
 Class<?> getDomainType() {
   return returnedType.getDomainType();
 }