Buggy code:
public class CassandraServer implements Cassandra { private static Logger logger = LoggerFactory . getLogger ( CassandraServer . class ) ; private static final GenericArray < Column > EMPTY_SUBCOLUMNS = new GenericData . Array < Column > ( 0 , Schema . parse ( ( ( "{\"type\":\"array\",\"items\":" + Column . SCHEMA$ ) + "}" ) ) ) ; private static final Utf8 API_VERSION = new Utf8 ( "0.0.0" ) ; public ColumnOrSuperColumn get ( Utf8 keyspace , Utf8 key , ColumnPath columnPath , ConsistencyLevel consistencyLevel ) throws AvroRemoteException , InvalidRequestException , NotFoundException , TimedOutException , UnavailableException { } private Map < String , ColumnOrSuperColumn > multigetInternal ( String keyspace , List < String > keys , ColumnPath cp , ConsistencyLevel level ) throws InvalidRequestException , TimedOutException , UnavailableException { } private Map < String , Collection < IColumn > > multigetColumns ( List < ReadCommand > commands , ConsistencyLevel level ) throws InvalidRequestException , TimedOutException , UnavailableException { } protected Map < DecoratedKey , ColumnFamily > readColumnFamily ( List < ReadCommand > commands , ConsistencyLevel consistency ) throws InvalidRequestException , TimedOutException , UnavailableException { } public GenericArray < Column > avronateSubColumns ( Collection < IColumn > columns ) { } public Void insert ( Utf8 keyspace , Utf8 key , ColumnPath cp , ByteBuffer value , long timestamp , ConsistencyLevel consistencyLevel ) throws AvroRemoteException , InvalidRequestException , TimedOutException , UnavailableException { } private void doInsert ( ConsistencyLevel consistency , RowMutation rm ) throws TimedOutException , UnavailableException { } public Void batch_insert ( Utf8 keyspace , Utf8 key , Map < Utf8 , GenericArray < ColumnOrSuperColumn > > cfmap , ConsistencyLevel consistency ) throws AvroRemoteException , InvalidRequestException , TimedOutException , UnavailableException { } private static RowMutation getRowMutation ( String keyspace , byte [ ] key , Map < Utf8 , GenericArray < ColumnOrSuperColumn > > cfmap ) { } public Void batch_mutate ( Utf8 keyspace , Map < Utf8 , Map < Utf8 , GenericArray < Mutation > > > mutationMap , ConsistencyLevel consistencyLevel ) throws AvroRemoteException , TimedOutException , UnavailableException { } private static RowMutation getRowMutationFromMutations ( String keyspace , String key , Map < Utf8 , GenericArray < Mutation > > cfMap ) { } private static void addColumnOrSuperColumnToRowMutation ( RowMutation rm , String cfName , ColumnOrSuperColumn cosc ) { } private static void deleteColumnOrSuperColumnToRowMutation ( RowMutation rm , String cfName , Deletion del ) { if ( ( ( del . predicate ) != null ) && ( ( del . predicate . column_names ) != null ) ) { for ( ByteBuffer col : del . predicate . column_names ) { <START_BUG> if ( ( ( del . super_column ) == null ) && ( DatabaseDescriptor . getColumnFamilyType ( rm . getTable ( ) , cfName ) . equals ( "Super" ) ) ) <END_BUG> rm . delete ( new QueryPath ( cfName , col . array ( ) ) , del . timestamp ) ; else rm . delete ( new QueryPath ( cfName , del . super_column . array ( ) , col . array ( ) ) , del . timestamp ) ; } } else { rm . delete ( new QueryPath ( cfName , del . super_column . array ( ) ) , del . timestamp ) ; } } private org . apache . cassandra . thrift . ConsistencyLevel thriftConsistencyLevel ( ConsistencyLevel consistency ) { } public Utf8 get_api_version ( ) throws AvroRemoteException { } }

Fix:
if ( ( ( del . super_column ) == null ) && ( ( DatabaseDescriptor . getColumnFamilyType ( rm . getTable ( ) , cfName ) ) == ( ColumnFamilyType . Super ) ) )