private bool Apply <T>(string key, T newValue)
        {
            if (Props.Get(key).Equals((object)newValue))
            {
                return(false);
            }

            Props.Set(key, newValue);
            return(true);
        }
        private bool Apply <T>(string key, T newValue)
        {
            //2nd condition is for booleans
            if (Props.Get(key).Equals((object)newValue) || Props.Get(key).ToString().Equals(newValue.ToString()))
            {
                return(false);
            }

            Props.Set(key, newValue);
            return(true);
        }
 public void ApplyDefaults()
 {
     Props.Set(ScriptingConfigProperties.ShowIronPythonConsole, ScriptingConfigProperties.DefaultShowIronPythonConsole);
     Props.Set(ScriptingConfigProperties.IronPythonModulePath, ScriptingConfigProperties.DefaultIronPythonModulePath);
 }