code: public <T extends Dto> T request(Class<T> classOfT, String idempotencyKey, String urlMethod, String requestType, Map<String, String> requestData, Pagination pagination, T entity) throws Exception {
  
          this.requestType = requestType;
          this.requestData = requestData;
  
          T responseResult = this.doRequest(classOfT, idempotencyKey, urlMethod, pagination, entity);
  
          if (pagination != null) {
              pagination = this.pagination;
          }
  
          return responseResult;
      }
docs: Makes a call to the MangoPay API.
  <p>
  This generic method handles calls targeting single
  <code>Dto</code> instances. In order to process collections of objects,
  use <code>requestList</code> method instead.
  
  @param <T>            Type on behalf of which the request is being called.
  @param classOfT       Type on behalf of which the request is being called.
  @param idempotencyKey idempotency key for this request.
  @param urlMethod      Relevant method key.
  @param requestType    HTTP request term, one of the GET, PUT or POST.
  @param requestData    Collection of key-value pairs of request
  parameters.
  @param pagination     Pagination object.
  @param entity         Instance of Dto class that is going to be
  sent in case of PUTting or POSTing.
  @return The Dto instance returned from API.
  @throws Exception