protected AbstractProcessingContext( final IContext context, final Map<String,Object> localVariables, final Object selectionTarget, final boolean selectionTargetSet) { super(); Validate.notNull(context, "Context cannot be null"); this.context = context; this.localVariables = (localVariables != null? new HashMap<String,Object>(localVariables) : (selectionTargetSet? new HashMap<String, Object>(2, 1.0f) : null)); if (selectionTargetSet) { this.localVariables.put(EVAL_SELECTION_TARGET_LOCAL_VARIABLE_NAME, selectionTarget); } this.evaluationRoot = createEvaluationRoot(); this.selectionEvaluationRoot = createSelectedEvaluationRoot(); }