<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Okey I got a little further: This works: &nbsp;</div><div><br></div><div><div style="margin: 0px; font-family: Monaco; color: rgb(0, 143, 0);"><span style="color: #a91500">rule</span><span style="color: #000000"> </span>"count old"</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">when</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>$le : LastEvent($ts : event.timestamp)</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>$old : Event(<span style="color: #a91500">this</span> before [1ms , 5s] $ts)</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">then</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>System.out.println($old);</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">end</div></div><div><br></div><div>but then why does this not work ?!</div><div><br></div><div><div style="margin: 0px; font-family: Monaco; color: rgb(0, 143, 0);"><span style="color: rgb(169, 21, 0);">rule</span><span style="color: rgb(0, 0, 0);">&nbsp;</span>"count old"</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">when</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space: pre;">        </span>$le : LastEvent($event : event)</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space: pre;">        </span>$old : Event(<span style="color: rgb(169, 21, 0);">this</span>&nbsp;before [1ms , 5s] $event.timestamp)</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">then</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space: pre;">        </span>System.out.println($old);</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">end</div></div><div><br></div><div>To me this seems to be a bug, that occurs as soon as I set an event as member of a fact (the LastEvent) -&gt; implementing the peephole technique.&nbsp;</div><div>At least I got it to do what I want...but not as "niceley..." as expected.</div><div><br></div><div>-&nbsp;</div><div>&nbsp;</div><br><div><div>On 02 Nov 2013, at 18:11, Alexander Wolf &lt;<a href="mailto:mail@alexander-wolf.net">mail@alexander-wolf.net</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Drools 5.5.0 + Fusion / stateful session / STREAM mode</div><div><br></div>Hi,<div><br></div><div>I try to improve my rules using peephole technique (Thanks @W)</div><div>I think I got it right, but now I am stuck with a problem.</div><div><br></div><div>I want to keep a reference to my latest inserted event. Problem: &nbsp;the rule "print old" gives me an Exception (see below).&nbsp;</div><div>I think the peephole itself works pretty well, but somehow my Event Object (POJO with: Date timestamp, int value) is making problems when I try to use "before". &nbsp;(see marked line, when commenting it out, the rules run alright)</div><div><br></div><div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">dialect<span style=""> </span><span style="color: #008f00">"mvel"</span></div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco;"><span style="color: #a91500">import</span> java.util.Date</div><div style="margin: 0px; font-family: Monaco;"><span style="color: #a91500">import</span> com.testmodel.Event</div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco; color: rgb(146, 144, 0);">//declarations</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">declare<span style=""> Event</span></div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>@role(event)</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>@timestamp( timestamp )</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">end</div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco;"><span style="color: #a91500">declare</span> LastEvent</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>event: Event</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">end</div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco; color: rgb(0, 143, 0);"><span style="color: #a91500">rule</span><span style=""> </span>"init"</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">when</div><div style="margin: 0px; font-family: Monaco; color: rgb(146, 144, 0);"><span style=""><span class="Apple-tab-span" style="white-space:pre">        </span></span>//once...</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">then</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>System.out.println(<span style="color: #008f00">"init"</span>);</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>LastEvent l = <span style="color: #a91500">new</span> LastEvent();</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>Event e = <span style="color: #a91500">new</span> Event();</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>e.timestamp = <span style="color: #a91500">new</span> Date();</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>e.value = 0;</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>l.event = e;</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);"><span style=""><span class="Apple-tab-span" style="white-space:pre">        </span></span>insert<span style="">(l);</span></div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">end</div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><span class="Apple-tab-span" style="white-space:pre">        </span><br class="webkit-block-placeholder"></div><div style="margin: 0px; font-family: Monaco; color: rgb(0, 143, 0);"><span style="color: #a91500">rule</span><span style=""> </span>"update LastEvent"</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);"><span style=""><span class="Apple-tab-span" style="white-space:pre">        </span></span>no-loop</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);"><span style=""><span class="Apple-tab-span" style="white-space:pre">        </span></span>salience<span style=""> 99</span></div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">when</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>$event : Event()</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>$last : LastEvent()</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">then</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>System.out.println(<span style="color: #008f00">"update LastEvent"</span>);</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span><span style="color: #a91500">retract</span> ($last)<span class="Apple-tab-span" style="white-space:pre">        </span></div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>LastEvent l = <span style="color: #a91500">new</span> LastEvent();</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>l.event = $event;</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);"><span style=""><span class="Apple-tab-span" style="white-space:pre">        </span></span>insert<span style="">(l);</span></div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">end<span style=""><span class="Apple-tab-span" style="white-space:pre">        </span></span></div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><br></div><div style="margin: 0px; font-family: Monaco; color: rgb(0, 143, 0);"><span style="color: #a91500">rule</span><span style=""> </span>"count old"</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">when</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>LastEvent($last : event)</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>$old : Event(<span style="color: #a91500">this</span> before [0 , 5s] $last) &nbsp; //&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; &nbsp;THIS IS EVIL?!</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">then</div><div style="margin: 0px; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">        </span>System.out.println($old);</div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);">end</div></div><div style="margin: 0px; font-family: Monaco; color: rgb(169, 21, 0);"><br></div><div style="margin: 0px;"><div style="font-family: Helvetica;">My test code looks like this:</div><div style="font-family: Helvetica;"><br></div><div style="font-family: Helvetica;"><div style="margin: 0px; font-family: Monaco;">Event event = <span style="color: #931a68">new</span> Event(<span style="color: #931a68">new</span> Date(), 1);</div><div style="margin: 0px; font-family: Monaco;">ksession.insert(event);</div><div style="margin: 0px; font-family: Monaco;">ksession.fireAllRules();</div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><span class="Apple-tab-span" style="white-space:pre">                </span><br class="webkit-block-placeholder"></div><div style="margin: 0px; font-family: Monaco; color: rgb(78, 144, 114);">//sleep&nbsp; 1+ <span style="text-decoration: underline">sec</span></div><div style="margin: 0px; font-family: Monaco;">Thread.sleep(1001);</div><div style="margin: 0px; font-family: Monaco; min-height: 16px;"><span class="Apple-tab-span" style="white-space:pre">                </span><br class="webkit-block-placeholder"></div><div style="margin: 0px; font-family: Monaco;">Event event2 = <span style="color: #931a68">new</span> Event(<span style="color: #931a68">new</span> Date(), 2);</div><div style="margin: 0px; font-family: Monaco;">ksession.insert(event2);</div><div style="margin: 0px; font-family: Monaco;">ksession.fireAllRules();</div></div><div style="font-family: Helvetica;"><br></div><div style="font-family: Helvetica;"><br></div><div style="font-family: Helvetica;">And this is the Exception I get:</div><div style="font-family: Helvetica;"><br></div><div><div>Exception executing consequence for rule "init" in testEasierLife: [Error: drools.insert(l): com.testmodel.Event cannot be cast to java.lang.Number]</div><div>[Near : {... System.out.println("init"); ....}]</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^</div><div>[Line: 1, Column: 1]</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1297)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at com.Test.test(PeepholeTest.java:65)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at java.lang.reflect.Method.invoke(Method.java:597)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.junit.runners.ParentRunner.run(ParentRunner.java:309)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)</div><div>Caused by: [Error: drools.insert(l): com.testmodel.Event cannot be cast to java.lang.Number]</div><div>[Near : {... System.out.println("init"); ....}]</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^</div><div>[Line: 1, Column: 1]</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:416)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:143)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.MVEL.executeExpression(MVEL.java:930)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:104)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>... 29 more</div><div>Caused by: java.lang.reflect.InvocationTargetException</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at java.lang.reflect.Method.invoke(Method.java:597)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1104)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:987)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:377)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>... 39 more</div><div>Caused by: java.lang.ClassCastException: com.testmodel.Event cannot be cast to java.lang.Number</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.base.evaluators.BeforeEvaluatorDefinition$BeforeEvaluator.evaluateCachedLeft(BeforeEvaluatorDefinition.java:337)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.rule.constraint.EvaluatorConstraint.isAllowedCachedLeft(EvaluatorConstraint.java:67)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(SingleBetaConstraints.java:125)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.JoinNode.propagateFromLeft(JoinNode.java:105)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:95)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:196)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:145)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:154)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:192)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:186)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>... 46 more</div><div style="font-family: Helvetica;"><br></div></div><div style="font-family: Helvetica;"><br></div><div style="font-family: Helvetica;"><br></div><div style="font-family: Helvetica;"><br></div></div></div></blockquote></div><br></body></html>