docs: public static HttpResponse put(String urlStr, String body,
              Map<String, String> headers) throws IOException {
          URL url = new URL(urlStr);
          HttpURLConnection urlConnection = (HttpURLConnection) url
                  .openConnection();
          urlConnection.addRequestProperty("Accept", "application/json");
  
          urlConnection.setRequestMethod("PUT");
          if (headers != null) {
              for (Entry<String, String> entry : headers.entrySet()) {
                  urlConnection.addRequestProperty(entry.getKey(),
                          entry.getValue());
              }
          }
  
          if (body != null && body.length() > 0)
              urlConnection.addRequestProperty("Content-Length",
                      Integer.toString(body.length()));
          else
              urlConnection.addRequestProperty("Content-Length", "0");
          urlConnection.setDoOutput(true);
  
          OutputStream out = urlConnection.getOutputStream();
          if (body != null && body.length() > 0)
              ByteStreams.copy(new ByteArrayInputStream(body.getBytes()), out);
  
          return getHttpResponse(urlConnection);
  
      }