         set(value) {
             if let unwrappedValue = value {
                 self.keychain.save(self.accountId, tokenType: .AccessToken, value: unwrappedValue)
+            } else {
+                self.keychain.delete(self.accountId, tokenType: .AccessToken)
             }
         }
     }

    }
    
    /**
    Read tokens information in Keychain. If the entry is not found return nil.
    
    :param: userAccount key of the keychain entry, usually accountId for oauth2 module.

        accessTokenExpirationDate: NSDate? = nil,
        refreshToken: String? = nil,
        refreshTokenExpirationDate: NSDate? = nil) {
            self.accountId = accountId
            if groupId != nil {
                self.keychain = KeychainWrap(serviceId: groupId, groupId: groupId)
            } else {
                self.keychain = KeychainWrap()
            }
            
            if accessToken != nil {
                self.accessToken = accessToken
            }
            
            if refreshToken != nil {
                self.refreshToken = refreshToken
            }
            
            if accessTokenExpirationDate != nil {
                self.accessTokenExpirationDate = accessTokenExpirationDate
            }
            
            if refreshToken != nil {
                self.refreshTokenExpirationDate = refreshTokenExpirationDate
            }
    }
}
