code: @Override
      public String getVirtualHost() {
          if (null != this.sUrlHost) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "getVirtualHost: url host-> " + this.sUrlHost);
              }
              return this.sUrlHost;
          }
          // check for preparsed Host header value
          if (null != this.sHdrHost) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "getVirtualHost: hdr host-> " + this.sHdrHost);
              }
              return this.sHdrHost;
          }
          // otherwise need to review the Host header value
          String host = getHeader(HttpHeaderKeys.HDR_HOST).asString();
          // PK09940 handle empty string too
          if (null == host || 0 >= host.length()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "getVirtualHost: No host header: [" + host + "]");
              }
              return null;
          }
          int index = -1;
          if (LEFT_BRACKET == host.charAt(0)) {
              // IPv6 IP
              index = host.indexOf(RIGHT_BRACKET);
              if (-1 == index) {
                  // invalid IP
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "getVirtualHost: Invalid IPv6 IP, missing right bracket");
                  }
                  return null;
              }
              index++; // keep the right bracket
          } else {
              index = host.indexOf(COLON);
          }
          if (-1 != index) {
              host = host.substring(0, index);
          }
          // PK14634 - cache the parsed host
          this.sHdrHost = host;
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "getVirtualHost: " + host);
          }
          return host;
      }
docs: Query the virtual host target of this request. This will check the URL
  first for any host value (name or IP), if it is not present, then it
  will check the Host header. If that is not present, then it will return
  null.
  
  @return String