         request.propertiesToFetch = ["node"]
         request.returnsDistinctResults = true
         request.predicate = NSCompoundPredicate(orPredicateWithSubpredicates: predicate)
-        request.sortDescriptors = [NSSortDescriptor(key: "node.createdDate", ascending: true)]
         
         var result: [AnyObject]?
         moc.performAndWait { [unowned request] in

        }
        
        var nodes = [AnyObject]()
//        var toFilter: Bool = false
        
        if let v = types {
            if let n = search(forEntityName: ModelIdentifier.entityName, types: v) {

        
        if let v = tags {
            if let n = search(forEntityName: ModelIdentifier.entityTagName, tags: v) {
                nodes.append(contentsOf: n)
            }
        }
        
        if let v = groups {
            if let n = search(forEntityName: ModelIdentifier.entityGroupName, groups: v) {
                nodes.append(contentsOf: n)
            }
        }
        
        if let v = properties {
            if let n = search(forEntityName: ModelIdentifier.entityPropertyName, properties: v) {
                nodes.append(contentsOf: n)
            }
        }
        
        var set = Set<Entity>()
        nodes.forEach { [weak moc] in
