@Override
public <T extends AccessTokenContext> void updateOAuthInfo(OAuthProviderType<T> oauthProviderType, String username, String oauthUsername, T accessToken) {
try {
UserProfileHandler userProfileHandler = orgService.getUserProfileHandler();
UserProfile userProfile = userProfileHandler.findUserProfileByName(username);
if(userProfile == null) {
userProfile = userProfileHandler.createUserProfileInstance(username);
}
userProfile.setAttribute(oauthProviderType.getUserNameAttrName(), oauthUsername);
OAuthProviderProcessor<T> oauthProviderProcessor = oauthProviderType.getOauthProviderProcessor();
oauthProviderProcessor.saveAccessTokenAttributesToUserProfile(userProfile, this, accessToken);
userProfileHandler.saveUserProfile(userProfile, true);
} catch (OAuthException oauthEx) {