class DefaultHttpJsonRequest implements HttpJsonRequest {

  @Override
  public HttpJsonRequest addQueryParam(@NotNull String name, @NotNull Object value) {
    requireNonNull(name, "Required non-null query parameter name");
    requireNonNull(value, "Required non-null query parameter value");
    if (queryParams == null) {
      queryParams = new ArrayList<>(DEFAULT_QUERY_PARAMS_LIST_SIZE);
    }
    queryParams.add(Pair.of(name, value));
    return this;
  }

  protected  DefaultHttpJsonRequest(String url, String method);
  protected  DefaultHttpJsonRequest(String url);
  protected  DefaultHttpJsonRequest(Link link);

}