         }
 
         do {
-            try self.managedObjectContext.save()
+
+            try context.save()
+
+            if let parentContext = context.parentContext{
+
+                try parentContext.save(); // persist on parent
+            }
             print("cd.Persisted 1M objects")
 
         } catch let error as NSError  {

        super.setUp()
        self.setUpInMemoryManagedObjectContext()

        self.insertBulkRecords()
        print("cd.Setup CD stack")
    }



    // MARK: Insertions

    func insertBulkRecords(context:NSManagedObjectContext){

        let entity =  NSEntityDescription.entityForName("Person",
            inManagedObjectContext:context)

        let birthdate:NSDate = NSDate()
        for i in 0...Constants.maxNumberOfEntities{

            let person:NSManagedObject = NSManagedObject(
                entity: entity!,
                insertIntoManagedObjectContext: context)

            person.setValue("random name #\(i)", forKey: "name")
            person.setValue(i, forKey: "personId")
