code: @Override
      public void destroy(Exception e) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "destroy, vc=" + getVCHash());
          }
  
          // Clean up the read and write interfaces as well as the SSL engine.
          this.connected = false;
          cleanup();
          getVirtualConnection().getStateMap().remove(LINKCONFIG);
          if (this.syncConnectFailure) {
              // sync connect failure needs cleanup below us but not above
              // us on the connlink chain
              super.destroy();
          } else {
              // otherwise use the destroy that goes up the chain
              super.destroy(e);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "destroy");
          }
      }
docs: /*
  @see com.ibm.wsspi.channelfw.base.OutboundProtocolLink#destroy(java.lang.Exception)