@Override protected MessageAttributes forwardByProtocol(Object destination, AttributedMessage message) throws NameLookupException, UnregisteredNameException, CommFailureException, MisdeliveredMessageException { try { return sender.handleOutgoingMessage(uri, message); } catch (CommFailureException e1) { decache(); throw e1; } catch (MisdeliveredMessageException e2) { decache(); throw e2; } catch (Exception e3) { decache(); throw new CommFailureException(e3); } }