StatefulKnowledgeSession knowledgeSession = knowledgeBase.newStatefulKnowledgeSession();
try {
knowledgeSession.insert( o1 );
FactHandle handle2 = knowledgeSession.insert( o2 );
if ( doUpdate ) {
knowledgeSession.update( handle2,
o2 );
} else if ( doRetract ) {
knowledgeSession.retract( handle2 );
handle2 = knowledgeSession.insert( o2 );
}