import org.drools.reteoo.EvalConditionNode.EvalMemory;
public class SegmentPropagator {
public static void propagate(SegmentMemory sourceSegment, StagedLeftTuples stagedLeftTuples, InternalWorkingMemory wm) {
LeftTupleSource source = sourceSegment.getTipNode();
if ( sourceSegment.isEmpty() ) {
// We know it's a Composite
LeftTupleSinkNodeList list = ((CompositeLeftTupleSinkAdapter)source.getSinkPropagator()).getRawSinks();
for (LeftTupleSinkNode sink = list.getFirst(); sink != null; sink = sink.getNextLeftTupleSinkNode() ) {
Memory memory = wm.getNodeMemories().getNodeMemory( ( MemoryFactory ) sink );
SegmentMemory smem = memory.getSegmentMemory();
sourceSegment.add( smem );
}