docs: @SuppressWarnings("WeakerAccess")
      public TokenRequest token(@NonNull String authorizationCode, @NonNull String redirectUri) {
          Map<String, Object> parameters = ParameterBuilder.newBuilder()
                  .setClientId(getClientId())
                  .setGrantType(GRANT_TYPE_AUTHORIZATION_CODE)
                  .set(OAUTH_CODE_KEY, authorizationCode)
                  .set(REDIRECT_URI_KEY, redirectUri)
                  .asDictionary();
  
          HttpUrl url = HttpUrl.parse(auth0.getDomainUrl()).newBuilder()
                  .addPathSegment(OAUTH_PATH)
                  .addPathSegment(TOKEN_PATH)
                  .build();
  
          ParameterizableRequest<Credentials, AuthenticationException> request = factory.POST(url, client, gson, Credentials.class, authErrorBuilder);
          request.addParameters(parameters);
          return new TokenRequest(request);
      }