if ( ruleAgendaItem == null ) {
// the match is no longer blocked, so stage it
((DefaultAgenda)workingMemory.getAgenda()).getStageActivationsGroup().addActivation( targetMatch );
} else {
int salienceInt = 0;
Salience salience = ruleAgendaItem.getRule().getSalience();
RuleTerminalNodeLeftTuple rtnLeftTuple = ( RuleTerminalNodeLeftTuple ) targetMatch;
if ( !salience.isDynamic() ) {
salienceInt = ruleAgendaItem.getRule().getSalience().getValue();
} else {
salienceInt = salience.getValue( new DefaultKnowledgeHelper(rtnLeftTuple, getWorkingMemory()),
null, getWorkingMemory());
}
((RuleTerminalNodeLeftTuple)targetMatch).update(salienceInt, activation.getPropagationContext());
targetMatch.getRuleAgendaItem().getRuleExecutor().addLeftTuple( targetMatch.getTuple() );
}