final PropagationContext context,
final InternalWorkingMemory workingMemory) {
final ObjectTypeNodeMemory memory = (ObjectTypeNodeMemory) workingMemory.getNodeMemory( this );
Iterator it = memory.memory.iterator();
InternalFactHandle ctxHandle = (InternalFactHandle) context.getFactHandle();
if ( !context.isPropagating( this ) ||
(context.isPropagating( this ) && context.shouldPropagateAll()) ) {
for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
// Assert everything
sink.assertObject( (InternalFactHandle) entry.getValue(),
context,
workingMemory );
}
} else {
for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
InternalFactHandle handle = (InternalFactHandle) entry.getValue();
// Exclude the current fact propagation
if (handle.getId() != ctxHandle.getId()) {
sink.assertObject( handle,
context,