Buggy code:
@ SuppressWarnings ( "serial" ) public class Column extends ReferenceCounter { public static final int FLAG_UNINSERTABLE = 2 << 0 ; public static final int FLAG_UNUPDATABLE = 2 << 1 ; public static final int FLAG_DIRECT_INSERT = 2 << 2 ; public static final int FLAG_DIRECT_UPDATE = 2 << 3 ; public static final int FLAG_FK_INSERT = 2 << 4 ; public static final int FLAG_FK_UPDATE = 2 << 5 ; public static final int FLAG_PK_JOIN = 2 << 6 ; private DBIdentifier _name = DBIdentifier . NULL ; private Table _table = null ; private DBIdentifier _tableName = DBIdentifier . NULL ; private DBIdentifier _schemaName = DBIdentifier . NULL ; private int _type = Types . OTHER ; private DBIdentifier _typeName = DBIdentifier . NULL ; private int _javaType = JavaTypes . OBJECT ; private int _size = 0 ; private int _decimals = 0 ; private String _defaultStr = null ; private Object _default = null ; private Boolean _notNull = null ; private boolean _autoAssign = false ; private boolean _rel = false ; private boolean _implicitRelation = false ; private DBIdentifier _target = DBIdentifier . NULL ; private String _targetField = null ; private int _flags = 0 ; private QualifiedDBIdentifier _fullPath = null ; private int _index = 0 ; private boolean _pk = false ; private VersionStrategy _versionStrategy = null ; private String _comment = null ; private boolean _XML = false ; private boolean _isUni1MFK = false ; private Set < Constraint > _constraints = new HashSet < Constraint > ( ) ; public Column ( ) { } public Column ( String name , Table table ) { } public Column ( DBIdentifier name , Table table ) { } void remove ( ) { } public Table getTable ( ) { } public String getTableName ( ) { } public DBIdentifier getTableIdentifier ( ) { } public void setTableName ( String name ) { } public void setTableIdentifier ( DBIdentifier name ) { } public void resetTableName ( String name ) { } public void resetTableIdentifier ( DBIdentifier table ) { } public String getSchemaName ( ) { } public DBIdentifier getSchemaIdentifier ( ) { } public void setSchemaName ( String name ) { } public void setSchemaIdentifier ( DBIdentifier name ) { } public String getName ( ) { } public DBIdentifier getIdentifier ( ) { } public void setName ( String name ) { } public void setIdentifier ( DBIdentifier name ) { } public String getFullName ( ) { } public DBIdentifier getFullDBIdentifier ( ) { } public QualifiedDBIdentifier getQualifiedPath ( ) { } public int getType ( ) { } public void setType ( int sqlType ) { } public String getTypeName ( ) { } public DBIdentifier getTypeIdentifier ( ) { } public void setTypeName ( String typeName ) { } public void setTypeIdentifier ( DBIdentifier typeName ) { } public int getJavaType ( ) { } public void setJavaType ( int type ) { } public int getSize ( ) { } public void setSize ( int size ) { } public int getDecimalDigits ( ) { } public void setDecimalDigits ( int digits ) { } public String getDefaultString ( ) { } public void setDefaultString ( String def ) { } public Object getDefault ( ) { if ( ( _default ) != null ) return _default ; if ( ( _defaultStr ) == null ) return null ; switch ( _javaType ) { case JavaTypes . BOOLEAN : case JavaTypes . BOOLEAN_OBJ : _default = ( "true" . equals ( _defaultStr ) ) ? Boolean . TRUE : Boolean . FALSE ; break ; case JavaTypes . BYTE : case JavaTypes . BYTE_OBJ : _default = new Byte ( _defaultStr ) ; break ; case JavaTypes . CHAR : case JavaTypes . CHAR_OBJ : <START_BUG> _default = new Character ( _defaultStr . charAt ( 0 ) ) ; <END_BUG> break ; case JavaTypes . DOUBLE : case JavaTypes . DOUBLE_OBJ : _default = new Double ( _defaultStr ) ; break ; case JavaTypes . FLOAT : case JavaTypes . FLOAT_OBJ : _default = new Float ( _defaultStr ) ; break ; case JavaTypes . INT : case JavaTypes . INT_OBJ : _default = Integer . parseInt ( _defaultStr ) ; break ; case JavaTypes . LONG : case JavaTypes . LONG_OBJ : _default = Long . parseLong ( _defaultStr ) ; break ; case JavaTypes . NUMBER : case JavaTypes . BIGDECIMAL : _default = new BigDecimal ( _defaultStr ) ; break ; case JavaTypes . SHORT : case JavaTypes . SHORT_OBJ : _default = new Short ( _defaultStr ) ; break ; case JavaTypes . DATE : _default = new Date ( _defaultStr ) ; break ; case JavaTypes . BIGINTEGER : _default = new BigInteger ( _defaultStr ) ; break ; case JavaSQLTypes . SQL_DATE : _default = java . sql . Date . valueOf ( _defaultStr ) ; break ; case JavaSQLTypes . TIMESTAMP : _default = Timestamp . valueOf ( _defaultStr ) ; break ; case JavaSQLTypes . TIME : _default = Time . valueOf ( _defaultStr ) ; break ; default : _default = _defaultStr ; } return _default ; } public void setDefault ( Object def ) { } public boolean isNotNull ( ) { } public void setNotNull ( boolean notNull ) { } public boolean isNotNullExplicit ( ) { } public boolean isAutoAssigned ( ) { } public void setAutoAssigned ( boolean autoAssign ) { } public boolean isRelationId ( ) { } public void setRelationId ( boolean rel ) { } public String getTarget ( ) { } public DBIdentifier getTargetIdentifier ( ) { } public void setTarget ( String target ) { } public void setTargetIdentifier ( DBIdentifier target ) { } public String getTargetField ( ) { } public void setTargetField ( String target ) { } public boolean getFlag ( int flag ) { }

Fix:
_default = Character . valueOf ( _defaultStr . charAt ( 0 ) ) ;