///<summary>
        ///Initializes the provider.
        ///</summary>
        ///
        ///<param name="config">A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.</param>
        ///<param name="name">The friendly name of the provider.</param>
        public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
        {
            lock (_syncLock)
            {
                // obtain a source provider
                _store = Platform.GetService <ISystemConfigurationSettingsStore>();

                // init source provider
                // according to sample implementations, use the application name here
                base.Initialize(ApplicationName, config);
            }
        }
        ///<summary>
        ///Initializes the provider.
        ///</summary>
        ///
        ///<param name="config">A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.</param>
        ///<param name="name">The friendly name of the provider.</param>
        public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
        {
            lock (_syncLock)
            {
                // obtain a source provider
                _store = Platform.GetService<ISystemConfigurationSettingsStore>();             

                // init source provider
                // according to sample implementations, use the application name here
                base.Initialize(ApplicationName, config);
            }
        }