public void Execute(object parameter)
        {
            if (ParentDropDownButton != null)
            {
                ParentDropDownButton.IsContentPopupOpen = false;
            }

            if (ViewerApplicationControl.Instance == null || BuilderApplication.Instance == null ||
                BuilderApplication.Instance.CurrentSite == null)
            {
                return;
            }

            ViewerApplicationControl va = ViewerApplicationControl.Instance;

            if (va != null)
            {
                IncrementVersionNumber(va.ViewerApplication);
                va.View.SaveExtensionsConfigData();

                // Get add-in configuration (tools, controls, and behaviors) before map configuration so add-ins have a chance
                // to perform map-related cleanup (e.g. removing temp layers) before the map is saved
                string toolsXml = va.ToolPanels != null?va.ToolPanels.GetToolPanelsXml() : string.Empty;

                string controlsXml = va.View.GetConfigurationOfControls();

                // Publish only Xaps in use
                string behaviorsXml = null;
                ObservableCollection <string> usedXaps = BuilderApplication.Instance.GetXapsInUse(out behaviorsXml);
                BuilderApplication.Instance.SyncExtensionsInUse(usedXaps);

                string mapXaml = va.View.GetMapConfiguration(null);

                // Now that the extensions list has been updated - serialize the applicationXml
                string appXml            = va.ViewerApplication.ToXml();
                string colorsXaml        = va.GetColorXaml();
                byte[] previewImageBytes = BuilderApplication.Instance.GetPreviewImage();

                SitePublishInfo info = new SitePublishInfo()
                {
                    ApplicationXml      = appXml,
                    BehaviorsXml        = behaviorsXml,
                    ColorsXaml          = colorsXaml,
                    ControlsXml         = controlsXml,
                    ExtensionsXapsInUse = usedXaps.ToArray(),
                    MapXaml             = mapXaml,
                    PreviewImageBytes   = previewImageBytes,
                    ToolsXml            = toolsXml,
                };
                var title = "";
                if (ViewerApplicationControl.Instance != null && ViewerApplicationControl.Instance.ViewerApplication != null)
                {
                    title = ViewerApplicationControl.Instance.ViewerApplication.TitleText;
                }
                ApplicationBuilderClient client = WCFProxyFactory.CreateApplicationBuilderProxy();
                client.SaveConfigurationForSiteCompleted += new EventHandler <SaveConfigurationForSiteCompletedEventArgs>(client_SaveConfigurationForSiteCompleted);
                client.SaveConfigurationForSiteAsync(BuilderApplication.Instance.CurrentSite.ID, info, title);
            }
        }