 //
 
 /**
-Swiftier versions of some Vokoder functions that return more exact managed object subclass types.
-*/
+ Swiftier versions of some Vokoder functions that return more exact managed object subclass types.
+ */
 public extension VOKCoreDataManager {
     
     /**

    /**
     Fetches every instance of a given class that matches the predicate using the given managed object context. Includes subentities.
     NOT threadsafe! Always use a temp context if you are NOT on the main queue.

     - parameter objectClass: The class of objects to fetch
     - parameter predicate: The predicate limit the fetch (defaults to nil)
     - parameter sortedBy: The sort descriptors to sort the results (defaults to nil)

     - returns: A typed Array of managed object subclasses. Not threadsafe.
     */
    public func arrayOf<T: NSManagedObject>(_ objectClass: T.Type,
                        withPredicate predicate: NSPredicate? = nil,
                        sortedBy sortDescriptors: [NSSortDescriptor]? = nil,
                        forContext context: NSManagedObjectContext? = nil) -> [T] {
        guard let result = self.array(for: objectClass,
                                      with: predicate,
                                      sortedBy: sortDescriptors,
                                      for: context) as? [T] else {
                                        fatalError("Could not cast array of NSManagedObjects into \(String(describing: T.self))")
        }
        return result
    }
}
