@SuppressWarnings("rawtypes")
    private ASTNode processLeaveNodes(Token token) {
	Class<? extends ASTNode> astClass = map.get(token.getType());
	Class[] parameters = new Class[] { Token.class };
	try {
	    Constructor cons = astClass.getConstructor(parameters);
	    Object[] arguments = new Object[] { token };
	    ASTNode ast = (ASTNode) cons.newInstance(arguments);

	    consume(); // remove LPAREN
	    Token argument = consume();
	    ast.setArguments(sanitizeString(argument));
	    consume(); // remove RPAREN

	    return ast;

	} catch (Exception e) {
	    e.printStackTrace();
	}
	return null;
    }