private static Start compile(String expression) {
Start result = (Start) COMPILED_EXPRESSIONS.get(expression);
if (result == null) {
try {
Parser p = new Parser(new Lexer(new PushbackReader(
new StringReader(expression), 1024)));
// Parse the input
result = p.parse();
} catch (Exception e) {
logger.warning("Invalid glob expression: " + expression);
e.printStackTrace();
}
}