code: public void init(CommsErrorListener CEL,
                     RoutingManager RM)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "init", new Object[] { CEL, RM});
  
      // Lock exclusively for start operations
      mpioLockManager.lockExclusive();
      _commsErrorListener = CEL;
      _routingManager = RM;
      
      synchronized(_mpConnectionsByMEConnection)
      {
        _mpConnectionsByMEUuid.clear();
        _mpConnectionsByMEConnection.clear();
      }
      
      // Create a new RemoteMessageReceiver if we don't already have one
      // or re-initialise the existing one to refresh any cached data
      // (used when an ME is re-started without the Server being re-started) 
      if(_remoteMessageReciever == null)
        _remoteMessageReciever = new RemoteMessageReceiver(_messageProcessor, this);
      else
        _remoteMessageReciever.init();
      
      started = true;    
      mpioLockManager.unlockExclusive();
            
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "init");
    }
docs: Initialize the MP I/O component.
  
  @param CEL TRM's implementation of the CommsErrorListener interface.
  @param RM TRM's implementation of the RoutingManager interface.