code: public AuthRequest exchangeCode(String code, String redirectUri) {
          Asserts.assertNotNull(code, "code");
          Asserts.assertNotNull(redirectUri, "redirect uri");
  
          String url = baseUrl
                  .newBuilder()
                  .addPathSegment(PATH_OAUTH)
                  .addPathSegment(PATH_TOKEN)
                  .build()
                  .toString();
          TokenRequest request = new TokenRequest(client, url);
          request.addParameter(KEY_CLIENT_ID, clientId);
          request.addParameter(KEY_CLIENT_SECRET, clientSecret);
          request.addParameter(KEY_GRANT_TYPE, "authorization_code");
          request.addParameter("code", code);
          request.addParameter("redirect_uri", redirectUri);
          return request;
      }
docs: Creates a request to exchange the code obtained in the /authorize call using the 'Authorization Code' grant.
  <pre>
  {@code
  AuthAPI auth = new AuthAPI("me.auth0.com", "B3c6RYhk1v9SbIJcRIOwu62gIUGsnze", "2679NfkaBn62e6w5E8zNEzjr-yWfkaBne");
  try {
  TokenHolder result = auth.exchangeCode("SnWoFLMzApDskr", "https://me.auth0.com/callback")
  .setScope("openid name nickname")
  .execute();
  } catch (Auth0Exception e) {
  //Something happened
  }
  }
  </pre>
  
  @param code        the authorization code received from the /authorize call.
  @param redirectUri the redirect uri sent on the /authorize call.
  @return a Request to configure and execute.