docs: @Override
      public String getSSODomainName(HttpServletRequest req, List<String> ssoDomainList, boolean useDomainFromURL) {
          try {
              final String host = getHostNameFromRequestURL(req);
              String ipAddr = AccessController.doPrivileged(new PrivilegedAction<String>() {
  
                  @Override
                  public String run() {
                      return getHostIPAddr(host);
                  }
              });
              if (host.equals(ipAddr) || host.indexOf(".") == -1) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      Tr.debug(tc, "URL host is an IP or locahost, no SSO domain will be set.");
                  return null;
              }
              String domain = host.substring(host.indexOf("."));
              if (ssoDomainList != null && !ssoDomainList.isEmpty()) {
                  for (Iterator<String> itr = ssoDomainList.iterator(); itr.hasNext();) {
                      String dm = itr.next();
                      if (domain.endsWith(dm))
                          return dm;
                  }
              }
              if (useDomainFromURL) {
                  return domain;
              }
          } catch (MalformedURLException e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "Unexpected exception getting request SSO domain", new Object[] { e });
          }
          return null;
      }