ExpressionSequence parseExpressionSequence( final Arguments arguments, final String input, final boolean preprocess) { final String trimmedInput = input.trim(); final String preprocessedInput = (preprocess ? preprocess(arguments, trimmedInput) : trimmedInput); final ExpressionSequence cachedExpressionSequence = CACHE.getExpressionSequenceFromCache(arguments.getConfiguration(), preprocessedInput); if (cachedExpressionSequence != null) { return cachedExpressionSequence; } final ExpressionSequence expressionSequence = ExpressionSequence.parse(preprocessedInput); if (expressionSequence == null) { throw new TemplateProcessingException( "Could not parse as expression sequence: \"" + input + "\""); } CACHE.putExpressionSequenceIntoCache( arguments.getConfiguration(), preprocessedInput, expressionSequence); return expressionSequence; }