code: @SuppressWarnings("WeakerAccess")
      public DelegationRequest<Map<String, Object>> delegationWithIdToken(@NonNull String idToken, @NonNull String apiType) {
          ParameterizableRequest<Map<String, Object>, AuthenticationException> request = delegation()
                  .addParameter(ParameterBuilder.ID_TOKEN_KEY, idToken);
  
          return new DelegationRequest<>(request)
                  .setApiType(apiType);
      }
docs: Performs a <a href="https://auth0.com/docs/api/authentication#delegation">delegation</a> request that will yield a delegation token.
  Example usage:
  <pre>
  {@code
  client.delegationWithIdToken("{id token}", "{app type, e.g. firebase}")
  .start(new BaseCallback<Map<String, Object>>() {
  {@literal}Override
  public void onSuccess(Map<String, Object> payload) {}
  
  {@literal}Override
  public void onFailure(AuthenticationException error) {}
  });
  }
  </pre>
  
  @param idToken issued by Auth0 for the user. The token must not be expired.
  @param apiType the delegation 'api_type' parameter
  @return a request to configure and start