int[] magicBars = new int[]{1, 2, 0, 1, 1, 0, 1, 2, 2, 1, 2, 0, 0, 2, 0, 2, 0, 0, 1};
//upon final rule firing an NPE will be thrown in org.drools.core.rule.Accumulate
for ( int i = 0; i < magicFoos.length; i++ ) {
Foo tehFoo = fooList[magicFoos[i]];
FactHandle fooFactHandle = ksession.getFactHandle( tehFoo );
tehFoo.setBar( barList[magicBars[i]] );
ksession.update( fooFactHandle, tehFoo );
ksession.fireAllRules();
}
ksession.dispose();