docs: private boolean checkIfUpgradeHeaders(Map<String, String> headers) {
          // looking for two headers.
          // connection header with a value of "upgrade"
          // upgrade header with a value of "h2c"
          boolean connection_upgrade = false;
          boolean upgrade_h2c = false;
          String headerValue = null;
          Set<Entry<String, String>> headerEntrys = headers.entrySet();
  
          for (Entry<String, String> header : headerEntrys) {
              String name = header.getKey();
              //check if it's an HTTP2 non-secure upgrade connection.
              if (name.equalsIgnoreCase(CONSTANT_connection)) {
                  headerValue = header.getValue();
                  if (tc.isDebugEnabled()) {
                      Tr.debug(tc, "connection header found with value: " + headerValue);
                  }
                  if (headerValue != null && headerValue.equalsIgnoreCase(CONSTANT_connection_value)) {
                      if (connection_upgrade == true) {
                          // should not have two of these, log debug and return false
                          // TODO: determine if we should throw an exception here, or if this error will be dealt with in subsequent processing
                          if (tc.isDebugEnabled()) {
                              Tr.debug(tc, "malformed: second connection header found");
                          }
                          return false;
                      }
                      connection_upgrade = true;
                  }
              }
              if (name.equalsIgnoreCase(CONSTANT_upgrade)) {
                  headerValue = header.getValue();
                  if (tc.isDebugEnabled()) {
                      Tr.debug(tc, "upgrade header found with value: " + headerValue);
                  }
                  if (headerValue != null && headerValue.equalsIgnoreCase(CONSTANT_h2c)) {
                      if (upgrade_h2c == true) {
                          // should not have two of these, log debug and return false
                          // TODO: determine if we should throw an exception here, or if this error will be dealt with in subsequent processing
                          if (tc.isDebugEnabled()) {
                              Tr.debug(tc, "malformed: second upgrade header found");
                          }
                          return false;
                      }
                      upgrade_h2c = true;
                  }
              }
          }
  
          if (connection_upgrade && upgrade_h2c) {
              return true;
          }
          return false;
      }