code: public @Nullable Info lookup(String httpMethod, String url) {
      httpMethod = httpMethod.toLowerCase();
      if (url.startsWith("/")) {
        url = url.substring(1);
      }
      url = StringUtils.stripTrailingSlash(url);
      List<Info> infos = infosByHttpMethod.get(httpMethod);
      if (infos == null) {
        log.atFine().log(
            "no information about any urls for HTTP method %s when checking %s", httpMethod, url);
        return null;
      }
      for (Info info : infos) {
        log.atFine().log("trying %s with template %s", url, info.getTemplate());
        if (info.getTemplate().matches(url)) {
          log.atFine().log("%s matched %s", url, info.getTemplate());
          return info;
        } else {
          log.atFine().log("%s did not matched %s", url, info.getTemplate());
        }
      }
  
      return null;
    }
docs: Finds the {@code Info} instance that matches {@code httpMethod} and {@code url}.
  
  @param httpMethod the method of a HTTP request
  @param url the url of a HTTP request
  @return an {@code Info} corresponding to the url and method, or null if none is found