} else if ( node instanceof AccumulateMemory ) {
rightMemory = ((AccumulateMemory) node).betaMemory.getRightTupleMemory();
}
final TupleStartEqualsConstraint constraint = TupleStartEqualsConstraint.getInstance();
TupleStartEqualsConstraintContextEntry contextEntry = new TupleStartEqualsConstraintContextEntry();
contextEntry.updateFromTuple( workingMemory, leftTuple );
FastIterator rightIt = rightMemory.fastIterator();
RightTuple temp = null;
for ( RightTuple rightTuple = rightMemory.getFirst( leftTuple, (InternalFactHandle) context.getFactHandle(), rightIt ); rightTuple != null; ) {
temp = (RightTuple) rightIt.next( rightTuple );
if ( constraint.isAllowedCachedLeft( contextEntry, rightTuple.getFactHandle() ) ) {
rightMemory.remove( rightTuple );
}
rightTuple = temp;
}
}