@Override public void run() throws SaxonApiException { if (!(parent instanceof XTry)) { try { XProcMessageListenerHelper.openStep(runtime, this); } catch (Throwable e) { throw handleException(e); } try { super.run(); } finally { runtime.getMessageListener().closeStep(); } } else super.run(); } }