@Override public void start() { for (Expression context : expression.contexts) { Object result = event.evaluate(context); if (result == null) { Object eval = event.result(context); if (eval instanceof LocationEvaluation) ((LocationEvaluation) eval).nodeSetListener = this; else ((PathEvaluation) eval).nodeSetListener = this; } else throw new NotImplementedException(); } }
@Override public Object getResult(Event event) { PathEvaluation pathEvaluation = (PathEvaluation) event.result(pathExpression); return pathEvaluation.evaluations.get(event.order()); }