if ( isLogTraceEnabled ) {
log.trace( "{} delete queue={} size={} pctx={} lt={}", getClass().getSimpleName(), System.identityHashCode( memory.getSegmentMemory().getStreamQueue() ), memory.getSegmentMemory().getStreamQueue().size(), PhreakPropagationContext.intEnumToString(rightTuple.getPropagationContext()), rightTuple );
}
if (stagedDeleteWasEmpty && !memory.getSegmentMemory().isSegmentLinked()) {
GarbageCollector garbageCollector = ((InternalAgenda)wm.getAgenda()).getGarbageCollector();
synchronized (garbageCollector) {
for (PathMemory pmem : memory.getSegmentMemory().getPathMemories()) {
if (pmem.getNodeType() == NodeTypeEnums.RuleTerminalNode) {
garbageCollector.add(pmem.getOrCreateRuleAgendaItem(wm));
}
}
garbageCollector.increaseDeleteCounter();
}
}
} else {
stagedDeleteWasEmpty = stagedRightTuples.addDelete(rightTuple);
}