docs: @Override
    public void notFound() {
      logWarn("Not Found: " + request().getUri());
      if (this.api_version > 0) {
        // always default to the latest version of the error formatter since we
        // need to return something
        switch (this.api_version) {
          case 1:
          default:
            sendReply(HttpResponseStatus.NOT_FOUND, serializer.formatNotFoundV1());
        }
        return;
      }
      if (hasQueryStringParam("json")) {
        sendReply(HttpResponseStatus.NOT_FOUND,
                  new StringBuilder("{\"err\":\"Page Not Found\"}"));
      } else {
        sendReply(HttpResponseStatus.NOT_FOUND, PAGE_NOT_FOUND);
      }
    }