Buggy code:
public abstract class Table extends MObject { protected Class < ? > clazz ; protected String registryName ; protected DbManager manager ; protected String name ; protected String tableNameOrg ; protected DbSchema schema ; protected String tableName ; protected HashMap < String , Field > fIndex = new HashMap < String , Field > ( ) ; protected LinkedList < Field > fList = new LinkedList < Field > ( ) ; protected LinkedList < FieldRelation > relationList = new LinkedList < FieldRelation > ( ) ; protected HashMap < String , FieldRelation > relationIndex = new HashMap < String , FieldRelation > ( ) ; private HashMap < String , LinkedList < Field > > iIdx = new HashMap < String , LinkedList < Field > > ( ) ; protected LinkedList < Field > pk = new LinkedList < Field > ( ) ; private DbPrepared sqlPrimary ; private DbPrepared sqlInsert ; private DbPrepared sqlUpdate ; private DbPrepared sqlDelete ; private LinkedList < Feature > features = new LinkedList < Feature > ( ) ; protected ResourceNode attributes ; public void init ( DbManager manager , Class < ? > clazz , String registryName , String tableName ) { } public void initDatabase ( DbConnection con , boolean cleanup ) throws Exception { } protected abstract void parseFields ( ) throws Exception { } protected void addToIndex ( String [ ] list , Field field ) { } protected void addField ( FieldRelation field ) { } public FieldRelation getFieldRelation ( String name ) { } protected void addField ( Field field ) { } public void fillNameMapping ( HashMap < String , Object > nameMapping ) throws Exception { } public void prepareCreate ( Object object ) throws Exception { } public void createObject ( DbConnection con , Object object ) throws Exception { } public void saveObject ( DbConnection con , Object object ) throws Exception { } protected void postInit ( ) throws MException { } public Object getObject ( DbConnection con , Object [ ] keys ) throws Exception { } public boolean existsObject ( DbConnection con , Object [ ] keys ) throws Exception { } public void injectObject ( Object obj ) { } public void fillObject ( Object obj , DbConnection con , DbResult res ) throws Throwable { for ( Feature f : features ) f . preFillObject ( obj , con , res ) ; for ( Field f : fList ) { try { f . setToTarget ( res , obj ) ; } catch ( Throwable t ) { manager . getSchema ( ) . onFillObjectException ( this , obj , res , f , t ) ; } } for ( Feature f : features ) <START_BUG> f . postFillObject ( obj , con , res ) ; <END_BUG> for ( FieldRelation f : relationList ) { f . loaded ( con , obj ) ; } } public Object fillObject ( DbConnection con , Object obj , Object [ ] keys ) throws Throwable { } public boolean objectChanged ( DbConnection con , Object obj , Object [ ] keys ) throws Exception { } public void createTable ( DbConnection con , boolean cleanup ) throws Exception { } public void deleteObject ( DbConnection con , Object object ) throws Exception { } public String getRegistryName ( ) { } public Class < ? > getClazz ( ) { } public String getTableName ( ) { } public Field getField ( String fName ) { } public List < Field > getPrimaryKeys ( ) { } public String toAttributes ( DbPersistent pa , DbPrimaryKey pk ) { } protected String getDbRetType ( Class < ? > ret ) { } public String getName ( ) { } public List < Feature > getFeatures ( ) { } public ResourceNode getAttributes ( ) { } public Field [ ] getFields ( ) { } public FieldRelation [ ] getFieldRelations ( ) { } }

Fix:
f . postFillObject ( obj , con ) ;