         return objects.first ?? nil
     }
     
-    // MARK: Finding First
-    
-    /**
-    Finds the first record. Generic version.
-    
-    :param: sortDescriptors Sort descriptors.
-    :param: context If not specified, `defaultContext` will be used.
-    
-    :returns: Optional instance of `Self`.
+    /**
+        Finds the first record. Generic version.
+
+        :param: sortDescriptors Sort descriptors.
+        :param: context If not specified, `defaultContext` will be used.
+
+        :returns: Optional instance of `Self`.
     */
     class func first<T>(sortDescriptors sortDescriptors: [NSSortDescriptor]? = nil, context: NSManagedObjectContext = AERecord.defaultContext) -> T? {
         let object: NSManagedObject? = first(sortDescriptors: sortDescriptors, context: context)

    }
    
    /**
     Finds all records for given predicate. Generic version
     
     :param: predicate Predicate.
     :param: sortDescriptors Sort descriptors.
     :param: context If not specified, `defaultContext` will be used.
     
     :returns: Optional array of `Self` instances.
     */
    class func allWithPredicate<T>(predicate: NSPredicate, sortDescriptors: [NSSortDescriptor]? = nil, context: NSManagedObjectContext = AERecord.defaultContext) -> [T]? {
        let objects: [NSManagedObject]? = allWithPredicate(predicate, sortDescriptors: sortDescriptors, context: context)
        return objects?.map { $0 as! T }

    }
    
    /**
        Finds all records for given attribute and value. Generic version

        :param: attribute Attribute name.
        :param: value Attribute value.
        :param: sortDescriptors Sort descriptors.
        :param: context If not specified, `defaultContext` will be used.

        :returns: Optional array of `Self` instances.
    */
    class func allWithAttribute<T>(attribute: String, value: AnyObject, sortDescriptors: [NSSortDescriptor]? = nil, context: NSManagedObjectContext = AERecord.defaultContext) -> [T]? {
        let objects: [NSManagedObject]? = allWithAttribute(attribute, value: value, sortDescriptors: sortDescriptors, context: context)
        return objects?.map { $0 as! T }
