docs: public static <T> Watch<T> createWatch(ApiClient client, Call call, Type watchType)
        throws ApiException {
      if (client.isDebugging()) {
        log.warn(
            "Watch is (for now) incompatible with debugging mode active. Watches will not return data until the watch connection terminates");
        throw new ApiException("Watch is incompatible with debugging mode active.");
      }
      try {
        com.squareup.okhttp.Response response = call.execute();
        if (!response.isSuccessful()) {
          String respBody = null;
          try (ResponseBody body = response.body()) {
            if (body != null) {
              respBody = response.body().string();
            }
          } catch (IOException e) {
            throw new ApiException(
                response.message(), e, response.code(), response.headers().toMultimap());
          }
          throw new ApiException(
              response.message(), response.code(), response.headers().toMultimap(), respBody);
        }
        return new Watch<>(client.getJSON(), response.body(), watchType, call);
      } catch (IOException e) {
        throw new ApiException(e);
      }
    }