//-----------------------------------------------------------------------
 void CreateObjectOperator::apply(bool reserve)
 {
     for (ObjectInfoList::const_iterator i = mObjectInfos.begin(); i != mObjectInfos.end(); ++i)
     {
         const ObjectInfo& info = *i;
         if (reserve == info.create)
         {
             const ObjectPtr& object = mSceneManipulator->getSceneInfo()->findObjectByName(i->name);
             assert(object);
             mSceneManipulator->removeObject(object, NULL, true);
         }
         else
         {
             ObjectPtr object = ObjectFactoryManager::getSingleton().createInstance(info.type);
             object->setName(info.name);
             object->setPropertyList(info.properties);
             object->createRenderInstance(mSceneManipulator);
             mSceneManipulator->addObject(object, NULL, true);
         }
     }
 }