class DefaultHttpJsonRequest implements HttpJsonRequest {

  public HttpJsonRequest addHeader(@NotNull String name, @NotNull String value) {
    requireNonNull(name, "Required non-null header name");
    requireNonNull(value, "Required non-null header value");
    if (headers == null) {
      headers = new ArrayList<>();
    }
    headers.add(Pair.of(name, value));
    return this;
  }

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

}