docs: void send(AbstractMessage aMessage, int priority)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "send", new Object[] {this,
                                              aMessage,
                                              new Integer(priority),
                                              "verboseMsg OUT : " + aMessage.toVerboseString()});
      if(TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
        MPIOMsgDebug.debug(tc, aMessage, priority);
      
      // comms accepting messages, write the message
      // immediately.
      try
      {
        //send the encoded message
        connection.send(aMessage, priority);          
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message accepted by Comms");
      } 
      catch (SIConnectionDroppedException e)
      {
        // No FFDC code needed
        
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message refused by Comms: Connection Dropped");
        
        // Pass this exception up to our parent.  Note that we'll assume
        // we're still alive, and let our parent (in coordination with TRM
        // decide whether or not to nuke us).
        mpio.error(connection, e);
      }       
      catch (SIConnectionUnavailableException e)
      {
        // No FFDC code needed
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message refused by Comms: Connection Unavailable");
        
        // Pass this exception up to our parent.  Note that we'll assume
        // we're still alive, and let our parent (in coordination with TRM
        // decide whether or not to nuke us).
        mpio.error(connection, e);
      } 
      catch (SIConnectionLostException e)
      {
        // No FFDC code needed
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message refused by Comms: Connection Lost");
        
        // Pass this exception up to our parent.  Note that we'll assume
        // we're still alive, and let our parent (in coordination with TRM
        // decide whether or not to nuke us).
        mpio.error(connection, e);
      }
      catch(MessageEncodeFailedException e)
      {
        // No FFDC code needed
        //this should never happen, but comms declare the exception, so
        //we have to deal with it
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message refused by Comms: Msg Encode Failed");
        
        // Pass this exception up to our parent.  Note that we'll assume
        // we're still alive, and let our parent (in coordination with TRM
        // decide whether or not to nuke us).
        mpio.error(connection, e);
      }
      catch(MessageCopyFailedException e)
      {
        // No FFDC code needed
        //this should never happen, but comms declare the exception, so
        //we have to deal with it
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message refused by Comms: Msg Copy Failed");
        
        // Pass this exception up to our parent.  Note that we'll assume
        // we're still alive, and let our parent (in coordination with TRM
        // decide whether or not to nuke us).
        mpio.error(connection, e);
      }
      catch(UnsupportedEncodingException e)
      {
        // No FFDC code needed
        //this should never happen, but comms declare the exception, so
        //we have to deal with it
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message refused by Comms: Msg Encoding Failed");
        
        // Pass this exception up to our parent.  Note that we'll assume
        // we're still alive, and let our parent (in coordination with TRM
        // decide whether or not to nuke us).
        mpio.error(connection, e);
      }
      catch(IncorrectMessageTypeException e)
      {
        // No FFDC code needed
        //this should never happen, but comms declare the exception, so
        //we have to deal with it
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.debug(tc, "send", "Message refused by Comms: Incorrect Message Type");
        
        // Pass this exception up to our parent.  Note that we'll assume
        // we're still alive, and let our parent (in coordination with TRM
        // decide whether or not to nuke us).
        mpio.error(connection, e);
      }
        
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "send");
    }