/// <summary>
        /// Saves the editor control value.
        /// </summary>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        private void DataEditorControl_OnSave(EventArgs e)
        {
            Factory factory = new Factory(m_Control.Options.Username, m_Control.Options.ApiKey);
            var simpleList = factory.GetAllContainersAsSimpleList();
            if (simpleList.Contains(m_Control.ContainerName))
            {
                if (m_Control.IsPublic)
                {
                    factory.SetPublicContainer(m_Control.ContainerName);
                }
                else
                {
                    factory.SetPrivateContainer(m_Control.ContainerName);
                }
            }
            else
            {
                factory.CreateContainer(m_Control.ContainerName);
                if (m_Control.IsPublic)
                {
                    factory.SetPublicContainer(m_Control.ContainerName);
                }
            }

            var dictionary = new Dictionary<string, string>
                                 {
                                     {"ContainerName", m_Control.ContainerName},
                                     {"Public", m_Control.IsPublic.ToString()}
                                 };

            // save the value of the control depending on whether a new file is uploaded);
            this.Data.Value = dictionary.SerializeToJson();
        }
        /// <summary>
        /// Creates child controls for this control
        /// </summary>
        protected override void CreateChildControls()
        {
            base.CreateChildControls();

            // set-up child controls
            this.txtUsername = new TextBox() { ID = "txtUsername", CssClass = "guiInputText umbEditorTextField" };
            this.txtApiKey = new TextBox() { ID = "txtApiKey", CssClass = "guiInputText umbEditorTextField" };
            this.ddlDefaultContainer = new DropDownList() { ID = "ddlDefaultContainer" };

            this.ddlDefaultContainer.Items.Clear();
            this.ddlDefaultContainer.Items.Add(string.Empty);
            if (!string.IsNullOrEmpty(cfcmd_options.Username) && !string.IsNullOrEmpty(cfcmd_options.ApiKey))
            {
                Factory factory = new Factory(cfcmd_options.Username, cfcmd_options.ApiKey);
                var containers = factory.GetAllContainersAsSimpleList();
                foreach (string container in containers)
                {
                    this.ddlDefaultContainer.Items.Add(new ListItem(container, container));
                }
            }

            // add the child controls
            this.Controls.AddPrevalueControls(this.txtUsername, this.txtApiKey, this.ddlDefaultContainer);
        }