Buggy code:
public final class DataTypeDescriptor implements Formatable { public static final DataTypeDescriptor INTEGER = new DataTypeDescriptor ( TypeId . INTEGER_ID , true ) ; public static final DataTypeDescriptor INTEGER_NOT_NULL = DataTypeDescriptor . INTEGER . getNullabilityType ( false ) ; public static final DataTypeDescriptor SMALLINT = new DataTypeDescriptor ( TypeId . SMALLINT_ID , true ) ; public static final DataTypeDescriptor SMALLINT_NOT_NULL = DataTypeDescriptor . SMALLINT . getNullabilityType ( false ) ; public static DataTypeDescriptor getBuiltInDataTypeDescriptor ( int jdbcType ) { } public static DataTypeDescriptor getBuiltInDataTypeDescriptor ( int jdbcType , int length ) { } public static DataTypeDescriptor getType ( TypeDescriptor catalogType ) { } public static TypeDescriptor getCatalogType ( int jdbcType , int length ) { } public static TypeDescriptor getCatalogType ( int jdbcType ) { } public static TypeDescriptor getCatalogType ( TypeDescriptor catalogType , int collationType ) { } public static DataTypeDescriptor getBuiltInDataTypeDescriptor ( int jdbcType , boolean isNullable ) { } public static DataTypeDescriptor getBuiltInDataTypeDescriptor ( int jdbcType , boolean isNullable , int maxLength ) { } public static DataTypeDescriptor getBuiltInDataTypeDescriptor ( String sqlTypeName ) { } public static DataTypeDescriptor getBuiltInDataTypeDescriptor ( String sqlTypeName , int length ) { } public static DataTypeDescriptor getSQLDataTypeDescriptor ( String javaTypeName ) { } public static DataTypeDescriptor getSQLDataTypeDescriptor ( String javaTypeName , boolean isNullable ) { } public static DataTypeDescriptor getSQLDataTypeDescriptor ( String javaTypeName , int precision , int scale , boolean isNullable , int maximumWidth ) { } public static TypeDescriptor getRowMultiSet ( String [ ] columnNames , TypeDescriptor [ ] catalogTypes ) { } private TypeDescriptorImpl typeDescriptor ; private TypeId typeId ; private int collationDerivation = StringDataValue . COLLATION_DERIVATION_IMPLICIT ; public DataTypeDescriptor ( ) { } public DataTypeDescriptor ( TypeId typeId , int precision , int scale , boolean isNullable , int maximumWidth ) { } public DataTypeDescriptor ( TypeId typeId , int precision , int scale , boolean isNullable , int maximumWidth , int collationType , int collationDerivation ) { } public DataTypeDescriptor ( TypeId typeId , boolean isNullable , int maximumWidth ) { } public DataTypeDescriptor ( TypeId typeId , boolean isNullable ) { } private DataTypeDescriptor ( DataTypeDescriptor source , boolean isNullable ) { } private DataTypeDescriptor ( DataTypeDescriptor source , int collationType , int collationDerivation ) { } public DataTypeDescriptor ( DataTypeDescriptor source , int precision , int scale , boolean isNullable , int maximumWidth ) { } public DataTypeDescriptor ( DataTypeDescriptor source , boolean isNullable , int maximumWidth ) { } private DataTypeDescriptor ( TypeDescriptorImpl source , TypeId typeId ) { } public DataValueDescriptor normalize ( DataValueDescriptor source , DataValueDescriptor cachedDest ) throws StandardException { } public DataTypeDescriptor getDominantType ( DataTypeDescriptor otherDTS , ClassFactory cf ) throws StandardException { } public boolean isExactTypeAndLengthMatch ( DataTypeDescriptor otherDTS ) { } public int getMaximumWidth ( ) { } public TypeId getTypeId ( ) { } public DataValueDescriptor getNull ( ) throws StandardException { } public String getTypeName ( ) { } public int getJDBCTypeId ( ) { } public int getPrecision ( ) { } public int getScale ( ) { } public int getCollationType ( ) { } public String getCollationName ( ) { } public int getCollationDerivation ( ) { } public boolean isRowMultiSet ( ) { } public boolean isNullable ( ) { } public DataTypeDescriptor getNullabilityType ( boolean isNullable ) { } public DataTypeDescriptor getCollatedType ( int collationType , int collationDerivation ) { } private static TypeDescriptor getRowMultiSetCollation ( TypeDescriptor catalogType , int collationType ) { } public boolean equals ( Object other ) { } public boolean comparable ( DataTypeDescriptor compareWithDTD , boolean forEquals , ClassFactory cf ) { } public boolean compareCollationInfo ( DataTypeDescriptor compareWithDTD ) { } public String getSQLstring ( ) { } public TypeDescriptor getCatalogType ( ) { } public double estimatedMemoryUsage ( ) { } public static boolean isJDBCTypeEquivalent ( int existingType , int jdbcTypeId ) { } public static boolean isNumericType ( int jdbcType ) { switch ( jdbcType ) { case Types . BIT : <START_BUG> case JDBC30Translation . SQL_TYPES_BOOLEAN : <END_BUG> case Types . TINYINT : case Types . SMALLINT : case Types . INTEGER : case Types . BIGINT : case Types . REAL : case Types . FLOAT : case Types . DOUBLE : case Types . DECIMAL : case Types . NUMERIC : return true ; default : return false ; } } private static boolean isCharacterType ( int jdbcType ) { } private static boolean isBinaryType ( int jdbcType ) { } public static boolean isAsciiStreamAssignable ( int jdbcType ) { } public static boolean isBinaryStreamAssignable ( int jdbcType ) { } public static boolean isCharacterStreamAssignable ( int jdbcType ) { } public String toString ( ) { } public void readExternal ( ObjectInput in ) throws IOException , ClassNotFoundException { } public void writeExternal ( ObjectOutput out ) throws IOException { } public int getTypeFormatId ( ) { } public boolean isUserCreatableType ( ) throws StandardException { } public String getFullSQLTypeName ( ) { } public String getSQLTypeNameWithCollation ( ) { } }

Fix:
case Types . BOOLEAN :