code: @Override
      public <E> List<E> getColumnsById(String schemaName, String joinTableName, String joinColumnName,
              String inverseJoinColumnName, Object parentId, Class columnJavaType)
      {
          List<Object> foreignKeys = new ArrayList<Object>();
  
          if (getCqlVersion().equalsIgnoreCase(CassandraConstants.CQL_VERSION_3_0))
          {
              foreignKeys = getColumnsByIdUsingCql(schemaName, joinTableName, joinColumnName, inverseJoinColumnName,
                      parentId, columnJavaType);
          }
          else
          {
              Selector selector = clientFactory.getSelector(pool);
  
              List<Column> columns = selector.getColumnsFromRow(joinTableName,
                      Bytes.fromByteArray(PropertyAccessorHelper.getBytes(parentId)),
                      Selector.newColumnsPredicateAll(true, 10), getConsistencyLevel());
  
              foreignKeys = dataHandler.getForeignKeysFromJoinTable(inverseJoinColumnName, columns, columnJavaType);
  
              if (log.isInfoEnabled())
              {
                  log.info("Returning number of keys from join table", foreignKeys != null ? foreignKeys.size() : null);
              }
          }
          return (List<E>) 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)