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