         return PersistentToken(token: token, identifier: persistentToken.identifier)
     }
 
-    // After calling deletePersistentToken(_:), the PersistentToken's identifier is no longer valid,
-    // and the token should be discarded
+    /// Deletes the given persistent token from the keychain.
+    ///
+    /// - note: After calling `deletePersistentToken(_:)`, the persistent token's `identifier` is no
+    ///         longer valid, and the token should be discarded.
+    ///
+    /// - parameter persistentToken: The persistent token to delete.
+    ///
+    /// - returns: A boolean indicating whether the token was successfully deleted.
     public func deletePersistentToken(persistentToken: PersistentToken) -> Bool {
         return deleteKeychainItemForPersistentRef(persistentToken.identifier)
     }

        return keychainItems.flatMap({ PersistentToken(keychainDictionary: $0) })
    }

    public func addToken(token: Token) -> PersistentToken? {
        guard let attributes = token.keychainAttributes,
            persistentRef = addKeychainItemWithAttributes(attributes) else {

        return PersistentToken(keychainDictionary: result)
    }

    /// Returns an array of all persistent tokens found in the keychain.
    public func allPersistentTokens() -> [PersistentToken]? {
        guard let keychainItems = allKeychainItems() as? [NSDictionary] else {
            return nil
