code: private void checkNotClosed() throws SIConnectionUnavailableException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "checkNotClosed");
  
          //Synchronize on the closed object to prevent it being changed while we check it.
          synchronized (this)
          {
              if (_closed)
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(tc, "checkNotClosed", "Connection Closed exception");
                  SIMPConnectionUnavailableException e = new SIMPConnectionUnavailableException(
                                  nls_cwsik.getFormattedMessage(
                                                                "DELIVERY_ERROR_SIRC_22", // OBJECT_CLOSED_ERROR_CWSIP0091
                                                                new Object[] { _messageProcessor.getMessagingEngineName() },
                                                                null));
  
                  e.setExceptionReason(SIRCConstants.SIRC0022_OBJECT_CLOSED_ERROR);
                  e.setExceptionInserts(new String[] { _messageProcessor.getMessagingEngineName() });
  
                  throw e;
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "checkNotClosed");
      }
docs: Check if this connection has been closed. If it has, a SIObjectClosedException
  is thrown.
  
  @throws SIConnectionUnavailableException