docs: public void destroy() throws ResourceException {
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.entry(this, TRACE, "destroy");
          }
  
          // In the event of an error the connection manager may call destroy
          // without calling cleanup. We need to do the cleanup logic without
          // calling cleanup as we could throw an exception from cleanup.
          // Invalidate any currently associated connections
          for (Iterator iterator = _connections.iterator(); iterator.hasNext();) {
  
              final SibRaConnection connection = (SibRaConnection) iterator
                      .next();
              connection.invalidate();
          }
  
          try {
  
              // Close the core connection
              // when destroy calls close connections then connection cannot be reset for future usage so force close by passing boolean true.-PM39926
              _coreConnection.close(true);
  
          } catch (final SIConnectionLostException exception) {
  
            // No FFDC code needed
            // d352473
            // We are remote to the ME and the ME connection has been lost
            // we shall surpress this exception as we want the destroy to complete
  
          } catch (final SIConnectionDroppedException exception) {
  
            // No FFDC code needed
            // d352473
            // We are remote to the ME and the ME connection has been dropped
            // we shall surpress this exception as we want the destroy to complete
  
          } catch (SIException exception) {
  
              FFDCFilter.processException(exception,
                      "com.ibm.ws.sib.ra.impl.SibRaManagedConnection.destroy",
                      FFDC_PROBE_2, this);
              if (TraceComponent.isAnyTracingEnabled() && TRACE.isEventEnabled()) {
                  SibTr.exception(this, TRACE, exception);
              }
              throw new ResourceException(NLS.getFormattedMessage(
                      "CONNECTION_CLOSE_CWSIV0402", new Object[] { exception },
                      null), exception);
  
          } catch (SIErrorException exception) {
  
              FFDCFilter.processException(exception,
                      "com.ibm.ws.sib.ra.impl.SibRaManagedConnection.destroy",
                      FFDC_PROBE_8, this);
              if (TraceComponent.isAnyTracingEnabled() && TRACE.isEventEnabled()) {
                  SibTr.exception(this, TRACE, exception);
              }
              throw new ResourceException(NLS.getFormattedMessage(
                      "CONNECTION_CLOSE_CWSIV0402", new Object[] { exception },
                      null), exception);
  
          }
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, "destroy");
          }
  
      }