// because it is shown to the user in status messages. We don't want the escaped version
// to leak out.
String patternForParsing = escapeRightParantesis(pattern);
Parser<Object> p = new Parser<Object>(patternForParsing, new AlmostAsIsEscapeUtil());
p.setContext(context);
Node t = p.parse();
this.headTokenConverter = p.compile(t, CONVERTER_MAP);
} catch (ScanException sce) {
addError("Failed to parse pattern \"" + pattern + "\".", sce);
}