@Override
 public OAuth2AccessToken getAccessToken(OAuth2Authentication authentication) {
   OAuth2AuthenticationAccessToken token =
       oAuth2AccessTokenRepository.findByAuthenticationId(
           authenticationKeyGenerator.extractKey(authentication));
   return token == null ? null : token.getoAuth2AccessToken();
 }
 @Override
 public OAuth2AccessToken readAccessToken(String tokenValue) {
   OAuth2AuthenticationAccessToken token = oAuth2AccessTokenRepository.findByTokenId(tokenValue);
   if (token == null) {
     return null;
   }
   return token.getoAuth2AccessToken();
 }
 private Collection<OAuth2AccessToken> extractAccessTokens(
     List<OAuth2AuthenticationAccessToken> tokens) {
   List<OAuth2AccessToken> accessTokens = new ArrayList<OAuth2AccessToken>();
   for (OAuth2AuthenticationAccessToken token : tokens) {
     accessTokens.add(token.getoAuth2AccessToken());
   }
   return accessTokens;
 }