OAuth3LeggedScheme.Token requestToken = loadRequestToken();
if (provider != null && requestToken != null) {
try {
String[] credentials = providerCredentials.get(provider.getName());
OAuth3LeggedScheme authScheme = new OAuth3LeggedScheme(provider,
credentials[0], credentials[1]);
authScheme.setRequestToken(requestToken);
authScheme.requestAccessToken(requestToken.token);
persistAccessToken(authScheme.getAccessToken());
} catch (OAuthException e) {
throw new RuntimeException("Error occured fetching access token", e);
} catch (URISyntaxException e) {
throw new RuntimeException("Error occured fetching access token", e);
} catch (IOException e) {