code: @SuppressWarnings("WeakerAccess")
      public ParameterizableRequest<Map<String, Object>, AuthenticationException> delegation() {
          HttpUrl url = HttpUrl.parse(auth0.getDomainUrl()).newBuilder()
                  .addPathSegment(DELEGATION_PATH)
                  .build();
  
          final Map<String, Object> parameters = ParameterBuilder.newBuilder()
                  .setClientId(getClientId())
                  .setGrantType(ParameterBuilder.GRANT_TYPE_JWT)
                  .asDictionary();
  
          return factory.rawPOST(url, client, gson, authErrorBuilder)
                  .addParameters(parameters);
      }
docs: Performs a custom <a href="https://auth0.com/docs/api/authentication#delegation">delegation</a> request that will
  yield a delegation token.
  Example usage:
  <pre>
  {@code
  client.delegation()
  .addParameter("api_type", "firebase")
  .start(new BaseCallback<Map<String, Object>>() {
  {@literal}Override
  public void onSuccess(Map<String, Object> payload) {}
  
  {@literal}Override
  public void onFailure(AuthenticationException error) {}
  });
  }
  </pre>
  
  @return a request to configure and start