code: protected <T> T doPost(String path, MultivaluedMap<String, String> formParams, Class<T> cls) throws ClientException {
          return doPost(path, formParams, cls, null);
      }
docs: Submits a form and gets back a JSON object. Adds appropriate Accepts and
  Content Type headers.
  
  @param <T> the type of object that is expected in the response.
  @param path the API to call.
  @param formParams the form parameters to send.
  @param cls the type of object that is expected in the response.
  @return the object in the response.
  
  @throws ClientException if a status code other than 200 (OK) is returned.