docs: def lookup(self):
          """
          Lookup existing account, if any.
          """
          assert not self.is_existing
          try:
              a = SocialAccount.objects.get(provider=self.account.provider,
                                            uid=self.account.uid)
              # Update account
              a.extra_data = self.account.extra_data
              self.account = a
              self.user = self.account.user
              a.save()
              # Update token
              if app_settings.STORE_TOKENS and self.token:
                  assert not self.token.pk
                  try:
                      t = SocialToken.objects.get(account=self.account,
                                                  app=self.token.app)
                      t.token = self.token.token
                      if self.token.token_secret:
                          # only update the refresh token if we got one
                          # many oauth2 providers do not resend the refresh token
                          t.token_secret = self.token.token_secret
                      t.expires_at = self.token.expires_at
                      t.save()
                      self.token = t
                  except SocialToken.DoesNotExist:
                      self.token.account = a
                      self.token.save()
          except SocialAccount.DoesNotExist:
              pass