Dictionary <string, object> IDL.getConfig()
        {
            var config = (from XElement configElement in ConfigRoot.Elements()
                          where bool.Parse(configElement.Element("IsReadable").Value)
                          select configElement);
            Dictionary <string, object> configDic = config.
                                                    ToDictionary
                                                        (configItem => configItem.Element("Key").Value,
                                                        configItem => (object)configItem.Element("Value").Value);

            return(configDic);
        }
        void IDL.setConfig(string parm, object value)
        {
            XElement configElement = ConfigRoot.Elements(parm).FirstOrDefault();

            if (configElement == null)
            {
                throw new ConfigurationValueNotExistException("the inserted value does not exist in the configuration");
            }
            if (bool.Parse(configElement.Element("IsWriteable").Value))
            {
                configElement.Element("Value").Value = value.ToString();
            }
            else
            {
                throw new ConfigurationValueNotWriteableException(parm);
            }
        }