/**
  * @internal
  *
  * @return MArray
  */
 protected function executeSaveRequest(MSaveRequest $request)
 {
     $affectedObjects = new MMutableArray();
     // Save new objects
     foreach ($request->insertManagedObjects()->toArray() as $object) {
         $this->saveManagedObject($object);
         $affectedObjects->addObject($object);
     }
     // Save updated objects
     foreach ($request->updateManagedObjects()->toArray() as $object) {
         $this->saveManagedObject($object);
         $affectedObjects->addObject($object);
     }
     // Remove deleted objects
     foreach ($request->deleteManagedObjects()->toArray() as $object) {
         $this->deleteManagedObject($object);
         $affectedObjects->addObject($object);
     }
     return $affectedObjects;
 }