code: public <E> List<E> loadData(EntityMetadata entityMetadata, BasicDBObject mongoQuery, List<String> relationNames,
              BasicDBObject orderBy, int maxResult, int firstResult, boolean isCountQuery, BasicDBObject keys,
              String... results) throws Exception
      {
          MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                  entityMetadata.getPersistenceUnit());
          AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(entityMetadata.getEntityClazz());
          boolean hasLob = managedType.hasLobAttribute();
          return (List<E>) (!hasLob ? loadQueryData(entityMetadata, mongoQuery, orderBy, maxResult, firstResult,
                  isCountQuery, keys, results) : loadQueryDataGFS(entityMetadata, mongoQuery, orderBy, maxResult,
                  firstResult, isCountQuery));
      }
docs: Loads columns from multiple rows restricting results to conditions stored
  in <code>filterClauseQueue</code>.
  
  @param <E>
  the element type
  @param entityMetadata
  the entity metadata
  @param mongoQuery
  the mongo query
  @param relationNames
  the relation names
  @param orderBy
  the order by
  @param maxResult
  the max result
  @param firstResult
  the first result
  @param isCountQuery
  the is count query
  @param keys
  the keys
  @param results
  the results
  @return the list
  @throws Exception
  the exception