AssignationSequence parseAssignationSequence( final Arguments arguments, final String input, final boolean preprocess, final boolean allowParametersWithoutValue) { final String trimmedInput = input.trim(); final String preprocessedInput = (preprocess ? preprocess(arguments, trimmedInput) : trimmedInput); final AssignationSequence cachedAssignationSequence = CACHE.getAssignationSequenceFromCache(arguments.getConfiguration(), preprocessedInput); if (cachedAssignationSequence != null) { return cachedAssignationSequence; } final AssignationSequence assignationSequence = AssignationSequence.parse(preprocessedInput, allowParametersWithoutValue); if (assignationSequence == null) { throw new TemplateProcessingException( "Could not parse as assignation sequence: \"" + input + "\""); } CACHE.putAssignationSequenceIntoCache( arguments.getConfiguration(), preprocessedInput, assignationSequence); return assignationSequence; }