} catch (BabelException e) {
r.handleBabelError(e);
} catch (OutOfMemoryError e) {
r.handleOutOfMemoryError();
} catch (FileNotFoundException e) {
r.handleFileNotFound(path);
} catch (Throwable t) {
r.handleOpenError(t, path);
} finally {
parser.removeNavigationFileParserListener(listener);
invokeLater(new Runnable() {