code: @Override
      public <E> List<E> getColumnsById(String schemaName, String tableName, String pKeyColumnName, String columnName,
              Object pKeyColumnValue, Class columnJavaType)
      {
          // search using index on pkey column
          List<E> foreignKeys = new ArrayList<E>();
  
          Table schemaTable = tableAPI.getTable(tableName);
          Index index = schemaTable.getIndex(pKeyColumnName);
          IndexKey indexKey = index.createIndexKey();
  
          // StringBuilder indexNamebuilder = new StringBuilder();
          NoSqlDBUtils.add(schemaTable.getField(pKeyColumnName), indexKey, pKeyColumnValue, pKeyColumnName);
          KunderaCoreUtils.printQuery(
                  "Get columns by id from:" + tableName + " for column:" + columnName + " where value:" + pKeyColumnValue,
                  showQuery);
          Iterator<Row> rowsIter = tableAPI.tableIterator(indexKey, null, null);
  
          while (rowsIter.hasNext())
          {
              Row row = rowsIter.next();
              FieldDef fieldMetadata = schemaTable.getField(columnName);
              FieldValue value = row.get(columnName);
              foreignKeys.add((E) NoSqlDBUtils.get(fieldMetadata, value, null));
          }
  
          return foreignKeys;
  
      }
docs: /*
  (non-Javadoc)
  
  @see com.impetus.kundera.client.Client#getColumnsById(java.lang.String,
  java.lang.String, java.lang.String, java.lang.String, java.lang.Object,
  java.lang.Class)