docs: public boolean send101SwitchingProtocol(String protocol) {
          // if the channel stopped while we parsed this Expect request, we want
          // to send an error to close the connection and avoid the body transfer
          // PK12235, check for a full stop only
          if (this.myLink.getChannel().isStopped()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Channel stopped, sending error instead of 100-continue");
              }
              try {
                  sendError(StatusCodes.UNAVAILABLE.getHttpError());
              } catch (Throwable t) {
                  FFDCFilter.processException(t, CLASS_NAME + ".check100Continue", "1206");
              }
              return false;
          }
          // if we're running on the SR for z/OS, never send the 100-continue
          // response no matter what the request says
          if (getHttpConfig().isServantRegion()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "100 continue not sent on SR");
              }
              return true;
          }
  
          // send the 101 response synchronously since it should not
          // take that long to dump a single buffer out
          HttpResponseMessageImpl msg = getResponseImpl();
          msg.setStatusCode(StatusCodes.SWITCHING_PROTOCOLS);
  
          msg.setHeader(HttpHeaderKeys.HDR_UPGRADE, protocol);
          msg.setSpecialHeader(HttpHeaderKeys.HDR_CONNECTION, "Upgrade");
  
          msg.setContentLength(0);
          VirtualConnection vc = sendHeaders(msg, Http100ContWriteCallback.getRef());
          if (null == vc) {
              // writing async
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Async write of 100 continue still going");
              }
              return false;
          }
          // reset the values on the response message
          resetMsgSentState();
          msg.setStatusCode(StatusCodes.OK);
          msg.setVersion(VersionValues.V20);
          // 366388
          msg.removeHeader(HttpHeaderKeys.HDR_CONTENT_LENGTH);
  
          // this msg will be re-used after the connection is upgraded, so we need to remove these two headers
          msg.removeHeader(HttpHeaderKeys.HDR_UPGRADE);
          msg.removeHeader(HttpHeaderKeys.HDR_CONNECTION);
          return true;
      }