docs: private boolean isProtocolSwitch(String pURL, HttpServletRequest pRequest) {
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_CORE.entering(methodClassName, methodNames[IS_PROTOCOL_SWITCH]);
          }
          // Extract the protocol
          int ix = pURL.indexOf("://");
          if (ix < 0)
              return false;
          String protocol = pURL.substring(0, ix);
  
          // See if it's a switch between HTTP and HTTPS
          if (!((protocol.equalsIgnoreCase("http") && pRequest.getScheme().equalsIgnoreCase("https")) || (protocol.equalsIgnoreCase("https") && pRequest.getScheme().equalsIgnoreCase("http")))) {
              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
                  LoggingUtil.SESSION_LOGGER_CORE.exiting(methodClassName, methodNames[IS_PROTOCOL_SWITCH], "false - No protocol switch.");
              }
              return false;
          }
  
          // Extract the host by searching for the first ':' or '/'
          int start = ix + 3;
          int end = start;
          int len = pURL.length();
          for (; end < len; end++) {
              char ch = pURL.charAt(end);
              if (ch == ':' || ch == '/')
                  break;
          }
          String host = pURL.substring(start, end);
  
          // Get the IP address of the host
          InetAddress hostaddr;
          try {
              hostaddr = InetAddress.getByName(host);
          } catch (UnknownHostException exc) {
              com.ibm.ws.ffdc.FFDCFilter.processException(exc, "com.ibm.ws.session.SessionContext.isProtocolSwitch", "1760", this);
              LoggingUtil.SESSION_LOGGER_CORE.logp(Level.SEVERE, methodClassName, methodNames[IS_PROTOCOL_SWITCH], "CommonMessage.exception", exc);
              return false;
          }
  
          // See if it is not the same as this host
          if (!hostaddr.equals(getLocalHost())) {
              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
                  LoggingUtil.SESSION_LOGGER_CORE.exiting(methodClassName, methodNames[IS_PROTOCOL_SWITCH], "false - Host Addresses are not equal");
              }
              return false;
          }
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_CORE.exiting(methodClassName, methodNames[IS_PROTOCOL_SWITCH], "true");
          }
          return true;
      }