Buggy code:
public class DatabaseDescriptor { private static Logger logger_ = Logger . getLogger ( DatabaseDescriptor . class ) ; public static final String random_ = "RANDOM" ; public static final String ophf_ = "OPHF" ; private static int storagePort_ = 7000 ; private static int controlPort_ = 7001 ; private static int thriftPort_ = 9160 ; private static boolean thriftFramed_ = false ; private static String listenAddress_ ; private static String thriftAddress_ ; private static String clusterName_ = "Test" ; private static int replicationFactor_ = 3 ; private static long rpcTimeoutInMillis_ = 2000 ; private static Set < String > seeds_ = new HashSet < String > ( ) ; private static String [ ] dataFileDirectories_ ; private static int currentIndex_ = 0 ; private static String logFileDirectory_ ; private static String bootstrapFileDirectory_ ; private static int consistencyThreads_ = 4 ; private static int concurrentReaders_ = 8 ; private static int concurrentWriters_ = 32 ; private static double flushDataBufferSizeInMB_ = 32 ; private static double flushIndexBufferSizeInMB_ = 8 ; private static List < String > tables_ = new ArrayList < String > ( ) ; private static Set < String > applicationColumnFamilies_ = new HashSet < String > ( ) ; private static String d_rowKey_ = "ROW_KEY" ; private static String d_superColumnMap_ = "SUPER_COLUMN_MAP" ; private static String d_superColumnKey_ = "SUPER_COLUMN_KEY" ; private static String d_columnMap_ = "COLUMN_MAP" ; private static String d_columnKey_ = "COLUMN_KEY" ; private static String d_columnValue_ = "COLUMN_VALUE" ; private static String d_columnTimestamp_ = "COLUMN_TIMESTAMP" ; private static Map < String , Double > tableKeysCachedFractions_ ; private static Map < String , Map < String , CFMetaData > > tableToCFMetaDataMap_ ; private static IPartitioner partitioner_ ; private static IEndPointSnitch endPointSnitch_ ; private static Class replicaPlacementStrategyClass_ ; private static int columnIndexSizeInKB_ ; private static int memtableLifetime_ = 6 ; private static int memtableSize_ = 128 ; private static double memtableObjectCount_ = 1 ; private static boolean doConsistencyCheck_ = true ; private static String calloutLocation_ ; private static String jobJarFileLocation_ ; private static String jobTrackerHost_ ; private static int gcGraceInSeconds_ = ( 10 * 24 ) * 3600 ; private static String configFileName_ ; private static String initialToken_ = null ; private static boolean commitLogSync_ ; private static int commitLogSyncDelay_ ; public static boolean isThriftFramed ( ) { } private static AbstractType getComparator ( Node columnFamily , String attr ) throws IllegalAccessException , InstantiationException , NoSuchMethodException , InvocationTargetException , TransformerException , DatabaseDescriptor . ConfigurationException { } public static void createTableDirectories ( ) throws IOException { } public static void storeMetadata ( ) throws IOException { } public static int getGcGraceInSeconds ( ) { } public static IPartitioner getPartitioner ( ) { } public static IEndPointSnitch getEndPointSnitch ( ) { } public static Class getReplicaPlacementStrategyClass ( ) { } public static String getCalloutLocation ( ) { } public static String getJobTrackerAddress ( ) { } public static int getColumnIndexSize ( ) { } public static int getMemtableLifetime ( ) { } public static String getInitialToken ( ) { } public static int getMemtableSize ( ) { } public static double getMemtableObjectCount ( ) { } public static boolean getConsistencyCheck ( ) { } public static String getClusterName ( ) { } public static String getConfigFileName ( ) { } public static boolean isApplicationColumnFamily ( String columnFamily ) { } public static String getJobJarLocation ( ) { } public static Map < String , CFMetaData > getTableMetaData ( String tableName ) { } public static CFMetaData getCFMetaData ( String tableName , String cfName ) { } public static String getColumnType ( String tableName , String cfName ) { } public static int getFlushPeriod ( String tableName , String columnFamilyName ) { } public static List < String > getTables ( ) { } public static String getTable ( String tableName ) { } public static void setTables ( String table ) { } public static int getStoragePort ( ) { } public static int getControlPort ( ) { } public static int getThriftPort ( ) { } public static int getReplicationFactor ( ) { } public static int getQuorum ( ) { } public static long getRpcTimeout ( ) { } public static int getConsistencyThreads ( ) { } public static int getConcurrentReaders ( ) { } public static int getConcurrentWriters ( ) { } public static String [ ] getAllDataFileLocations ( ) { } public static String [ ] getAllDataFileLocationsForTable ( String table ) { } public static String getDataFileLocationForTable ( String table ) { } public static String getBootstrapFileLocation ( ) { } public static void setBootstrapFileLocation ( String bfLocation ) { } public static String getLogFileLocation ( ) { } public static void setLogFileLocation ( String logLocation ) { } public static Set < String > getSeeds ( ) { } public static String getColumnFamilyType ( String tableName , String cfName ) { } public static String getDataFileLocationForTable ( String table , long expectedCompactedFileSize ) { } public static AbstractType getComparator ( String tableName , String cfName ) { } public static AbstractType getSubComparator ( String tableName , String cfName ) { assert tableName != null ; <START_BUG> return DatabaseDescriptor . getCFMetaData ( tableName , cfName ) . comparator ; <END_BUG> } public static Map < String , Map < String , CFMetaData > > getTableToColumnFamilyMap ( ) { } public static double getKeysCachedFraction ( String tableName ) { } private static class ConfigurationException extends Exception { public ConfigurationException ( String message ) { } } public static String getListenAddress ( ) { } public static String getThriftAddress ( ) { } public static int getCommitLogSyncDelay ( ) { } public static boolean isCommitLogSyncEnabled ( ) { } public static double getFlushDataBufferSizeInMB ( ) { } public static double getFlushIndexBufferSizeInMB ( ) { } }

Fix:
return DatabaseDescriptor . getCFMetaData ( tableName , cfName ) . subcolumnComparator ;