public void Populate(string applicationPrivateData, string configProviderId)
        {
            string str;

            if (!this._isPopulated)
            {
                lock (this._syncObject)
                {
                    if (!this._isPopulated)
                    {
                        this._privateData = applicationPrivateData;
                        char[] chrArray = new char[1];
                        chrArray[0] = '/';
                        string[] strArrays = configProviderId.Split(chrArray, StringSplitOptions.RemoveEmptyEntries);
                        PSWorkflowConfigurationProvider pSWorkflowConfigurationProvider = this;
                        if ((int)strArrays.Length > 0)
                        {
                            str = strArrays[(int)strArrays.Length - 1];
                        }
                        else
                        {
                            str = configProviderId;
                        }
                        pSWorkflowConfigurationProvider._configProviderId = str;
                        this._isPopulated = true;
                        this._wfOptions   = PSWorkflowConfigurationProvider.LoadConfig(this._privateData, this);
                        this.ResetCaching();
                    }
                }
                return;
            }
            else
            {
                return;
            }
        }