public PropertyList lookupHandler(String path) {
    { HttpServer server = this;

      if (Http.$HTTP_SERVER_IMPLEMENTATION$ == null) {
        throw ((StellaException)(StellaException.newStellaException("lookup-handler: no HTTP server implementation loaded").fillInStackTrace()));
      }
      { PropertyList handler = ((PropertyList)(Http.$HTTP_HANDLER_REGISTRY$.lookup(StringWrapper.wrapString(path))));
        String handlerpath = null;
        int handlerpathlength = 0;

        if (handler != null) {
          return (handler);
        }
        { StringWrapper p = null;
          PropertyList h = null;
          DictionaryIterator iter000 = ((DictionaryIterator)(Http.$HTTP_HANDLER_REGISTRY$.allocateIterator()));

          while (iter000.nextP()) {
            p = ((StringWrapper)(iter000.key));
            h = ((PropertyList)(iter000.value));
            if (Stella.startsWithP(path, p.wrapperValue, 0)) {
              if ((handler == null) ||
                  ((StringWrapper.unwrapString(p)).length() > handlerpathlength)) {
                handler = h;
                handlerpath = p.wrapperValue;
                handlerpathlength = handlerpath.length();
              }
            }
          }
        }
        return (handler);
      }
    }
  }