/**
  * {@inheritdoc}
  */
 public function revokeToken(TokenInterface $token)
 {
     if ($token instanceof AccessTokenInterface) {
         if (true === $this->areRefreshTokensRevokedWithAccessTokens() && null !== $token->getRefreshToken() && true === $this->hasRefreshTokenManager()) {
             $refresh_token = $this->getRefreshTokenManager()->getRefreshToken($token->getRefreshToken());
             if ($refresh_token instanceof RefreshTokenInterface) {
                 $this->getRefreshTokenManager()->revokeRefreshToken($refresh_token);
             }
         }
         $this->getAccessTokenManager()->revokeAccessToken($token);
     }
 }