public <R, V> MappedColumnFamilyResult<K, N, R> queryColumns(
     IndexedSlicesPredicate<K, N, V> predicate,
     List<N> columns,
     ColumnFamilyRowMapper<K, N, R> mapper) {
   HSlicePredicate<N> slicePredicate = new HSlicePredicate<N>(topSerializer);
   slicePredicate.setColumnNames(columns);
   return doExecuteIndexedSlices(predicate, slicePredicate, mapper);
 }
 public <V> ColumnFamilyResult<K, N> queryColumns(
     IndexedSlicesPredicate<K, N, V> predicate, List<N> columns) {
   HSlicePredicate<N> slicePredicate = new HSlicePredicate<N>(topSerializer);
   slicePredicate.setColumnNames(columns);
   return doExecuteIndexedSlices(predicate, slicePredicate);
 }
 public ColumnFamilyResult<K, N> queryColumns(K key, List<N> columns) {
   HSlicePredicate<N> predicate = new HSlicePredicate<N>(topSerializer);
   predicate.setColumnNames(columns);
   return doExecuteSlice(key, predicate);
 }
 public <V> MappedColumnFamilyResult<K, N, V> queryColumns(
     Iterable<K> keys, List<N> columns, ColumnFamilyRowMapper<K, N, V> mapper) {
   HSlicePredicate<N> predicate = new HSlicePredicate<N>(topSerializer);
   predicate.setColumnNames(columns);
   return doExecuteMultigetSlice(keys, predicate, mapper);
 }
 /**
  * Queries all columns at a given key and maps them to an object of type OBJ using the given
  * mapping object
  *
  * @param <T>
  * @param key
  * @param columns
  * @param mapper
  * @return
  */
 public <T> T queryColumns(K key, List<N> columns, ColumnFamilyRowMapper<K, N, T> mapper) {
   HSlicePredicate<N> predicate = new HSlicePredicate<N>(topSerializer);
   predicate.setColumnNames(columns);
   return doExecuteSlice(key, predicate, mapper);
 }