code: @Override
      protected List<Object> populateEntities(EntityMetadata entityMetadata, Client client)
      {
          /**
           * Multiple clause: like two columns with and cluase For multiple
           * andTranslate jpa clause into temp store based on clause if it is for
           * multiple data set. and fetch from there and then finally delete that
           * temp storage. Query translator will translate queries into key value
           */
  
          /**
           * Limitations: 1) Multiple AND/OR clause not possible 2) Only equal
           * clause possible with AND/OR clause.
           * 
           */
  
          Set<Object> results = new LinkedHashSet<Object>();
  
          ClientMetadata clientMetadata = ((ClientBase) client).getClientMetadata();
  
          if (!MetadataUtils.useSecondryIndex(clientMetadata)
                  && !(clientMetadata.getIndexImplementor() != null && clientMetadata.getIndexImplementor().equals(
                          RedisIndexer.class.getName())))
          {
              results.addAll(populateUsingLucene(entityMetadata, client, null,
                      getColumns(getKunderaQuery().getResult(), entityMetadata)));
          }
          else
          {
              RedisQueryInterpreter interpreter = onTranslation(getKunderaQuery().getFilterClauseQueue(), entityMetadata);
              results.addAll((List<Object>) ((RedisClient) client).onExecuteQuery(interpreter,
                      entityMetadata.getEntityClazz()));
          }
  
          List<Object> output = new ArrayList<Object>();
          output.addAll(results);
  
          return output;
      }
docs: /*
  (non-Javadoc)
  
  @see
  com.impetus.kundera.query.QueryImpl#populateEntities(com.impetus.kundera
  .metadata.model.EntityMetadata, com.impetus.kundera.client.Client)