Buggy code:
public abstract class AbstractUpdateManager implements UpdateManager , Configurable { protected JDBCConfiguration conf = null ; protected DBDictionary dict = null ; public void setConfiguration ( Configuration conf ) { } public void startConfiguration ( ) { } public void endConfiguration ( ) { } public Collection flush ( Collection states , JDBCStore store ) { } private Collection flush ( Collection states , JDBCStore store , PreparedStatementManager psMgr ) { } protected abstract RowManager newRowManager ( ) { } protected abstract PreparedStatementManager newPreparedStatementManager ( JDBCStore store , Connection conn ) { } protected abstract Collection flush ( RowManager rowMgr , PreparedStatementManager psMgr , Collection exceps ) { } protected Collection populateRowManager ( OpenJPAStateManager sm , RowManager rowMgr , JDBCStore store , Collection exceps , Collection customs ) { } protected Collection addException ( Collection exceps , Exception err ) { } protected void insert ( OpenJPAStateManager sm , ClassMapping mapping , RowManager rowMgr , JDBCStore store , Collection customs ) throws SQLException { Boolean custom = mapping . isCustomInsert ( sm , store ) ; if ( ! ( Boolean . FALSE . equals ( custom ) ) ) mapping . customInsert ( sm , store ) ; <START_BUG> if ( custom . equals ( Boolean . TRUE ) ) <END_BUG> return ; ClassMapping sup = mapping . getJoinablePCSuperclassMapping ( ) ; if ( sup != null ) insert ( sm , sup , rowMgr , store , customs ) ; mapping . insert ( sm , store , rowMgr ) ; FieldMapping [ ] fields = mapping . getDefinedFieldMappings ( ) ; BitSet dirty = sm . getDirty ( ) ; for ( int i = 0 ; i < ( fields . length ) ; i ++ ) { if ( ( dirty . get ( fields [ i ] . getIndex ( ) ) ) && ( ! ( bufferCustomInsert ( fields [ i ] , sm , store , customs ) ) ) ) fields [ i ] . insert ( sm , store , rowMgr ) ; } if ( sup == null ) { Version vers = mapping . getVersion ( ) ; if ( ! ( bufferCustomInsert ( vers , sm , store , customs ) ) ) vers . insert ( sm , store , rowMgr ) ; Discriminator dsc = mapping . getDiscriminator ( ) ; if ( ! ( bufferCustomInsert ( dsc , sm , store , customs ) ) ) dsc . insert ( sm , store , rowMgr ) ; } } private boolean bufferCustomInsert ( Strategy strat , OpenJPAStateManager sm , JDBCStore store , Collection customs ) { } protected void delete ( OpenJPAStateManager sm , ClassMapping mapping , RowManager rowMgr , JDBCStore store , Collection customs ) throws SQLException { } private boolean bufferCustomDelete ( Strategy strat , OpenJPAStateManager sm , JDBCStore store , Collection customs ) { } protected void update ( OpenJPAStateManager sm , BitSet dirty , ClassMapping mapping , RowManager rowMgr , JDBCStore store , Collection customs ) throws SQLException { } protected void updateIndicators ( OpenJPAStateManager sm , ClassMapping mapping , RowManager rowMgr , JDBCStore store , Collection customs , boolean versionUpdateOnly ) throws SQLException { } private boolean bufferCustomUpdate ( Strategy strat , OpenJPAStateManager sm , JDBCStore store , Collection customs ) { } protected static class CustomMapping { public static final int INSERT = 0 ; public static final int UPDATE = 1 ; public static final int DELETE = 3 ; private final int _action ; private final OpenJPAStateManager _sm ; private final Strategy _strat ; public CustomMapping ( int action , OpenJPAStateManager sm , Strategy strat ) { } public void execute ( JDBCStore store ) throws SQLException { } } }

Fix:
if ( Boolean . TRUE . equals ( custom ) )