     
     // MARK: Distinct
     
+    /**
+        Gets distinct values for given attribute and predicate.
+    
+        :param: attribute Attribute name.
+        :param: predicate Predicate.
+        :param: sortDescriptors Sort descriptors.
+        :param: context If not specified, `defaultContext` will be used.
+    
+        :returns: Optional Array of `AnyObject`.
+    */
     class func distinctValuesForAttribute(attribute: String, predicate: NSPredicate? = nil, sortDescriptors: [NSSortDescriptor]? = nil, context: NSManagedObjectContext = AERecord.defaultContext) -> [AnyObject]? {
         var distinctValues = [AnyObject]()
         

    }
    
    /**
        Creates fetch request **(for any entity type)** with given predicate and sort descriptors *(which are optional)*.
    
        :param: predicate Predicate for fetch request.
        :param sortDescriptors Sort Descriptors for fetch request.

        }
    }
    
    /**
        Updates data directly in persistent store **(iOS 8 and above)**.
        
        Objects are turned into faults after updating *(managed object context is refreshed)*.
    
        :param: predicate Predicate.
        :param: properties Properties to update.
        :param: context If not specified, `defaultContext` will be used.
    */
    class func batchUpdateAndRefreshObjects(predicate: NSPredicate? = nil, properties: [NSObject : AnyObject]? = nil, context: NSManagedObjectContext = AERecord.defaultContext) {
        if let result = batchUpdate(predicate: predicate, properties: properties, resultType: .UpdatedObjectIDsResultType, context: context) {
            if let objectIDS = result.result as? [NSManagedObjectID] {
