//we only have to clone the head fact to make sure the graph is not affected during consequence reads after a modify
final ReteTuple cloned = new ReteTuple( tuple );
final InternalAgenda agenda = (InternalAgenda) workingMemory.getAgenda();
final Duration dur = this.rule.getDuration();
if ( dur != null && dur.getDuration( tuple ) > 0 ) {
final ScheduledAgendaItem item = new ScheduledAgendaItem( context.getPropagationNumber(),
cloned,
agenda,
context,
this.rule,