modifyPreviousTuples,
context.adaptModificationMaskForObjectType( objectType, workingMemory ),
workingMemory );
} else {
if ( factHandle.getObject() instanceof TraitProxy ) {
TraitProxy proxy = ((TraitProxy) factHandle.getObject());
BitSet vetoMask = proxy.getTypeFilter();
if ( vetoMask == null // no vetos
|| typeMask.isEmpty() // Thing is permissive
|| ! HierarchyEncoderImpl.supersetOrEqualset( vetoMask, this.typeMask ) ) { // this node is not vetoed
// "don" update :
if ( context.getModificationMask() == Long.MIN_VALUE ) {
// property reactivity may block trait proxies which have been asserted and then immediately updated because of another "don"
// however, PR must be disabled only once for each OTN: that is, a proxy will not pass an OTN if one of its ancestors can also pass it
// Example: given classes A <- B <-C, at OTN A, a proxy c can only pass if no proxy b exists
TraitableBean txBean = (TraitableBean) proxy.getObject();
TraitTypeMap tMap = (TraitTypeMap) txBean._getTraitMap();
Collection<Key<Thing>> x = tMap.immediateParents( this.typeMask );
Key<Thing> k = x.iterator().next();
long originalMask = context.getModificationMask();