code: private boolean isRecursive(HttpRequestHeader header) {
          try {
              if (header.getHostPort() == inSocket.getLocalPort()) {
                  String targetDomain = header.getHostName();
                  if (API.API_DOMAIN.equals(targetDomain)) {
                      return true;
                  }
  
                  if (isProxyAddress(InetAddress.getByName(targetDomain))) {
                      return true;
                  }
              }
          } catch (Exception e) {
  			// ZAP: Log exceptions
  			log.warn(e.getMessage(), e);
          }
          return false;
      }
docs: Tells whether or not the given {@code header} has a request to the (parent) proxy itself.
  <p>
  The request is to the proxy itself if the following conditions are met:
  <ol>
  <li>The requested port is the one that the proxy is bound to;</li>
  <li>The requested domain is {@link API#API_DOMAIN} or, the requested address is one of the addresses the proxy is
  listening to.</li>
  </ol>
  
  @param header the request that will be checked
  @return {@code true} if it is a request to the proxy itself, {@code false} otherwise.
  @see #isProxyAddress(InetAddress)