Buggy code:
public class CassandraServer implements Cassandra . Iface { private static Logger logger = Logger . getLogger ( CassandraServer . class ) ; private static final List < ColumnOrSuperColumn > EMPTY_COLUMNS = Collections . emptyList ( ) ; private static final List < Column > EMPTY_SUBCOLUMNS = Collections . emptyList ( ) ; protected StorageService storageService ; public CassandraServer ( ) { } public void start ( ) throws IOException { } protected ColumnFamily readColumnFamily ( ReadCommand command , int consistency_level ) throws InvalidRequestException { } public List < Column > thriftifySubColumns ( Collection < IColumn > columns ) { } public List < ColumnOrSuperColumn > thriftifyColumns ( Collection < IColumn > columns , boolean reverseOrder ) { } private List < ColumnOrSuperColumn > thriftifySuperColumns ( Collection < IColumn > columns , boolean reverseOrder ) { } private List < ColumnOrSuperColumn > getSlice ( ReadCommand command , int consistency_level ) throws InvalidRequestException { } public List < ColumnOrSuperColumn > get_slice ( String keyspace , String key , ColumnParent column_parent , SlicePredicate predicate , int consistency_level ) throws InvalidRequestException , NotFoundException { if ( CassandraServer . logger . isDebugEnabled ( ) ) CassandraServer . logger . debug ( "get_slice_from" ) ; ThriftValidation . validateColumnParent ( keyspace , column_parent ) ; if ( ( predicate . column_names ) != null ) { return getSlice ( new SliceByNamesReadCommand ( keyspace , key , column_parent , predicate . column_names ) , consistency_level ) ; } else { SliceRange range = predicate . slice_range ; if ( ( range . count ) < 0 ) throw new InvalidRequestException ( "get_slice<seq2seq4repair_space>requires<seq2seq4repair_space>non-negative<seq2seq4repair_space>count" ) ; <START_BUG> return getSlice ( new SliceFromReadCommand ( keyspace , key , column_parent , range . start , range . finish , range . is_ascending , range . count ) , consistency_level ) ; <END_BUG> } } public ColumnOrSuperColumn get ( String table , String key , ColumnPath column_path , int consistency_level ) throws InvalidRequestException , NotFoundException { } public int get_count ( String table , String key , ColumnParent column_parent , int consistency_level ) throws InvalidRequestException { } public void insert ( String table , String key , ColumnPath column_path , byte [ ] value , long timestamp , int consistency_level ) throws InvalidRequestException , UnavailableException { } public void batch_insert ( String table , BatchMutation batch_mutation , int consistency_level ) throws InvalidRequestException , UnavailableException { } public void remove ( String table , String key , ColumnPath column_path , long timestamp , int consistency_level ) throws InvalidRequestException , UnavailableException { } private void doInsert ( int consistency_level , RowMutation rm ) throws UnavailableException { } public void batch_insert_super_column ( String table , BatchMutationSuper batch_mutation_super , int consistency_level ) throws InvalidRequestException , UnavailableException { } public String get_string_property ( String propertyName ) { } public List < String > get_string_list_property ( String propertyName ) { } public Map < String , Map < String , String > > describe_keyspace ( String table ) throws NotFoundException { } public List < String > get_key_range ( String tablename , String columnFamily , String startWith , String stopAt , int maxResults ) throws InvalidRequestException , TException { } }

Fix:
return getSlice ( new SliceFromReadCommand ( keyspace , key , column_parent , range . start , range . finish , range . reversed , range . count ) , consistency_level ) ;