docs: @Override
      public void close()
                      throws SIResourceException, SIConnectionLostException,
                      SIErrorException
      {
          if (TraceComponent.isAnyTracingEnabled() && CoreSPIConnection.tc.isEntryEnabled())
              SibTr.entry(CoreSPIConnection.tc, "close", this);
  
          // Lock on the connections lock object to stop Message Processor from 
          // closing us
          _messageProcessor.getConnectionLockManager().lock();
          try
          {
              // Close the connection and remove the connection listeners.
              _close(true);
          } finally
          {
              _messageProcessor.getConnectionLockManager().unlock();
          }
  
          if (TraceComponent.isAnyTracingEnabled() && CoreSPIConnection.tc.isEntryEnabled())
              SibTr.exit(CoreSPIConnection.tc, "close");
      }