private LocationEvaluation( LocationExpression expression, int stepIndex, Event event, EventID eventID, Expression predicate, Evaluation predicateEvaluation) { this(expression, stepIndex, event, eventID); predicateResult = null; if (predicateEvaluation == null) this.predicateEvaluation = event.addListener(predicate, this); else { this.predicateEvaluation = predicateEvaluation; predicateEvaluation.addListener(this); } }