public List <KeyValuePair <byte[], List <RawColumn> > > GetRows(List <byte[]> keys, List <byte[]> columnNames)
        {
            var multiGetSliceCommand = new MultiGetSliceCommand(keyspaceName, columnFamilyName, readConsistencyLevel,
                                                                keys,
                                                                new SlicePredicate(columnNames));

            commandExecutor.Execute(multiGetSliceCommand);
            return(multiGetSliceCommand.Output.Where(pair => pair.Value.Any()).ToList());
        }
        public List <KeyValuePair <byte[], List <RawColumn> > > GetRegion(List <byte[]> keys, byte[] startColumnName, byte[] finishColumnName, int limitPerRow)
        {
            var slicePredicate = new SlicePredicate(new SliceRange
            {
                Count       = limitPerRow,
                StartColumn = startColumnName,
                EndColumn   = finishColumnName,
                Reversed    = false
            });
            var command = new MultiGetSliceCommand(keyspaceName, columnFamilyName, readConsistencyLevel, keys, slicePredicate);

            commandExecutor.Execute(command);
            return(command.Output.Where(pair => pair.Value.Any()).ToList());
        }