public void LoadSetting(XElement settingRoot)
 {
     commands.Clear();
     foreach (XElement element in settingRoot.Elements("ScriptingCommand"))
     {
         IObjectEditorType type = provider.Types.Where(t => t.GetType().AssemblyQualifiedName == element.Attribute("Class").Value).FirstOrDefault();
         if (type != null)
         {
             ScriptingCommand command = (ScriptingCommand)type.CreateObject();
             command.LoadSetting(element);
             commands.Add(command);
         }
     }
 }