}
public void execute(Event<UIWorkingWorkspace> event) throws Exception {
PortalRequestContext pcontext = (PortalRequestContext) event.getRequestContext();
UIPortalApplication portalApp = (UIPortalApplication) pcontext.getUIApplication();
UIPortal currentPortal = portalApp.getCurrentSite();
UIWorkingWorkspace uiWorkingWS = event.getSource();
if (authorizeEditSite(currentPortal, portalApp)) {
DataStorage dataStorage = portalApp.getApplicationComponent(DataStorage.class);
PortalConfig portalConfig = dataStorage.getPortalConfig(pcontext.getSiteType().getName(), pcontext.getSiteName());
UIPortal transientPortal = uiWorkingWS.createUIComponent(UIPortal.class, null, null);
PortalDataMapper.toUIPortal(transientPortal, portalConfig);
transientPortal.setNavPath(currentPortal.getNavPath());
transientPortal.refreshUIPage();
if (authorizeEditPage(currentPortal, portalApp)) {
uiWorkingWS.setBackupUIPortal(currentPortal);
portalApp.setDefaultEditMode(ComponentTab.APPLICATIONS, getEditLevel());