public static Object evaluate(final SecurityContext securityContext, final ActionContext actionContext, final GraphObject entity, final String expression) throws FrameworkException {
final String expressionWithoutNewlines = expression.replace('\n', ' ');
final StreamTokenizer tokenizer = new StreamTokenizer(new StringReader(expressionWithoutNewlines));
tokenizer.eolIsSignificant(true);
tokenizer.wordChars('_', '_');
tokenizer.wordChars('.', '.');
tokenizer.wordChars('!', '!');
Expression root = new RootExpression();