docs: void workerRun(TCPBaseRequestContext req, IOException ioe) {
          if (null == req || req.getTCPConnLink().isClosed()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
                  Tr.event(tc, "Ignoring IO on closed socket: " + req);
              }
              return;
          }
          try {
              if (ioe == null) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "Worker thread processing IO request: " + req);
                  }
                  attemptIO(req, true);
              } else {
                  if (req.isRequestTypeRead()) {
                      TCPReadRequestContextImpl readReq = (TCPReadRequestContextImpl) req;
                      if (readReq.getReadCompletedCallback() != null) {
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                              Tr.debug(tc, "Worker thread processing read error: " + req.getTCPConnLink().getSocketIOChannel().getChannel());
                          }
                          readReq.getReadCompletedCallback().error(readReq.getTCPConnLink().getVirtualConnection(), readReq, ioe);
                      }
                  } else {
                      TCPWriteRequestContextImpl writeReq = (TCPWriteRequestContextImpl) req;
                      if (writeReq.getWriteCompletedCallback() != null) {
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                              Tr.debug(tc, "Worker thread processing write error: " + req);
                          }
                          writeReq.getWriteCompletedCallback().error(writeReq.getTCPConnLink().getVirtualConnection(), writeReq, ioe);
                      }
                  }
              }
          } catch (Throwable t) {
              // Only issue an FFDC if the framework is up/valid..
              if (FrameworkState.isValid()) {
                  FFDCFilter.processException(t, getClass().getName(), "workerRun(req)", new Object[] { this, req, ioe });
              }
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
                  Tr.event(tc, "Unexpected error in worker; " + t);
              }
          }
      }