/**
  * Constructor.
  *
  * @param string $username
  * @param string $key
  */
 public function __construct(AccountInterface $user, $providerKey, $key)
 {
     parent::__construct($user->getRoles());
     if (empty($key)) {
         throw new \InvalidArgumentException('$key must not be empty.');
     }
     if (empty($providerKey)) {
         throw new \InvalidArgumentException('$providerKey must not be empty.');
     }
     $this->setUser($user);
     $this->providerKey = $providerKey;
     $this->key = $key;
     $this->setAuthenticated(true);
 }