Hello; I&#39;m using Drools 5.2.0-SNAPSHOT.<br><br>I have a StatefulKnowledgeSession spawned from a KnowledgeBase whose 
KnowledgeBaseConfiguration is set up to use equality, not identity for 
(as I understand it) testing to see whether a fact is in the base or 
not.<br>
<br>I have this verified with a (nasty) assert statement (I didn&#39;t see any other way to get the KnowledgeBaseConfiguration out, which looks like an API omission to me): <br><br>assert ((InternalRuleBase)((<div id=":de">
KnowledgeBaseImpl)sks.getKnowledgeBase()).getRuleBase()).getConfiguration().getAssertBehaviour().equals(AssertBehaviour.EQUALITY);<br>
<br>OK, so the internal knowledge base is using equality.<br><br>I stick
 some facts in via insert.  Then I serialize the session using all the 
right classes from org.drools.marshalling.  I choose the full 
serialization mode.<br>
<br>As I understand it, this means that the knowledge base and the facts
 will all be serialized.  I am aware of the fact that all facts will get
 new identities.<br><br>At some point in the future, I deserialize the session (successfully).<br>
<br>When I take the same object that I inserted, and call statefulSession.getFactHandle(myObject), I get null back.<br><br>This
 is despite the fact that my object has an equals() method, and that the
 equals() method is heavily unit tested (and simple).<br>
<br>That is, despite the fact that the KnowledgeBase is confirmed to use
 equality, not identity, there does not seem to be a way to test if the 
session contains a particular fact.  It&#39;s like identity is still being 
used.<br>
<br>Am I overlooking something obvious?<br><br>Thanks,<br>Laird</div>