code: @Override
      public Iterator iterate()
      {
          EntityMetadata m = getEntityMetadata();
          Client client = persistenceDelegeator.getClient(m);
          boolean useLuceneOrES = !MetadataUtils.useSecondryIndex(((ClientBase) client).getClientMetadata());
          QueryTranslator translator = new QueryTranslator();
          translator.translate(getKunderaQuery(), m, useLuceneOrES);
          if (useLuceneOrES && translator.isWhereOrAggregationQuery())
          {
              throw new UnsupportedOperationException("Scrolling over hbase is unsupported for lucene or ES queries");
          }
          List<Map<String, Object>> columns = translator.getColumnsToOutput(m, getKunderaQuery(), useLuceneOrES);
          return new ResultIterator((HBaseClient) client, m, persistenceDelegeator,
                  getFetchSize() != null ? getFetchSize() : this.maxResult, translator, columns);
      }
docs: /*
  (non-Javadoc)
  
  @see com.impetus.kundera.query.QueryImpl#iterate()