private bool ProcessExpression(SymbolTable symbolTable) { // TODO: If there are performance problems, we could find a faster way to detect expressions than doing a full parse var tokenSequence = new TokenSequence(XValue); if (tokenSequence.RequiresProcessing) { if (tokenSequence.RequiresTemplateArguments) { var templateInstance = TemplateInstance; if (templateInstance == null || templateInstance.Template == null) { return(false); } XValue = tokenSequence.Process(symbolTable, templateInstance.ArgumentDictionary); } else { XValue = tokenSequence.Process(symbolTable, null); } } return(true); }