docs: public void complete(NetworkConnection vc, IOWriteRequestContext wctx) {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "complete", new Object[] {vc, wctx});
        if (connection.isLoggingIOEvents()) connection.getConnectionEventRecorder().logDebug("complete method invoked on write context "+System.identityHashCode(wctx));
  
        try {
           doWork(true);
        } catch(SIConnectionDroppedException connectionDroppedException) {
           // No FFDC code needed
  
           // This has been thrown because the priority queue was purged (most likely on another thread).
           // The exception is thrown to prevent threads in this method looping forever or hanging if the
           // conneciton is invalidate on another thread.  Therefore we simply swallow this exception and
           // allow the thread to exit this method.
  
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              SibTr.debug(this, tc, "Caught SIConnectionDroppedException, Priority Queue has been purged");
        } catch(Error error) {
           FFDCFilter.processException
           (error, "com.ibm.ws.sib.jfapchannel.impl.ConnectionWriteCompletedCallback", JFapChannelConstants.CONNWRITECOMPCALLBACK_COMPLETE_03, connection.getDiagnostics(true));
           if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.exception(this, tc, error);
  
           // It might appear slightly odd for this code to catch Error (especially since the JDK docs say
           // that Error means that something has gone so badly wrong that you should abandon all hope).
           // This code makes one final stab at putting out some diagnostics about what happened (if we
           // propagate the Error up to the TCP Channel, it is sometimes lost) and closing down the
           // connection.  I figured that we might as well try to do something - as we can hardly make
           // things worse... (famous last words)
  
           connection.invalidate(false, error, "Error caught in ConnectionWriteCompletedCallback.complete()");
  
           // Re-throw the error to ensure that it causes the maximum devastation.
           // The JVM is probably very ill if an Error is thrown so attempt no recovery.
           throw error;
        } catch(RuntimeException runtimeException) {
           FFDCFilter.processException
           (runtimeException, "com.ibm.ws.sib.jfapchannel.impl.ConnectionWriteCompletedCallback", JFapChannelConstants.CONNWRITECOMPCALLBACK_COMPLETE_04, connection.getDiagnostics(true));
           if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.exception(this, tc, runtimeException);
  
           // We can reasonably try to recover from a runtime exception by invalidating the associated
           // connection.  This should drive the underlying TCP/IP socket to be closed.
           connection.invalidate(false, runtimeException, "RuntimeException caught in ConnectionWriteCompletedCallback.complete()");
  
           // Don't throw the RuntimeException on as we risk blowing away part of the TCP channel.
        }
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "complete");
     }