/**
  * Used to fake a browser visit to approve a token.
  *
  * @return a redirect URL, which may or may not include an oauth verifier
  */
 public String browserVisit(String url) throws Exception {
   ParsedUrl parsed = new ParsedUrl(url);
   String requestToken = parsed.getQueryParam("oauth_token");
   TokenState state = tokenState.get(requestToken);
   state.approveToken();
   // Not part of the OAuth spec, just a handy thing for testing.
   state.setUserData(parsed.getQueryParam("user_data"));
   if (state.callbackUrl != null) {
     UriBuilder callback = UriBuilder.parse(state.callbackUrl);
     callback.addQueryParameter(OAuthConstants.OAUTH_VERIFIER, state.verifier);
     return callback.toString();
   }
   return null;
 }