Bug 59956 [R21PRES] perspective switcher
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
if (page == null) {
				IAdaptable root = getDefaultPageInput();
				page = windowConfigurer.getWindow().openPage(perspectiveId, root);
			} else {
				IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
				IPerspectiveDescriptor desc = reg.findPerspectiveWithId(perspectiveId);
				if (desc != null) {
					page.setPerspective(desc);
				}
			}
			
			windowConfigurer.getWindow().setActivePage(page);
			page.openEditor(new WelcomeEditorInput((AboutInfo) welcomePerspectiveInfos.get(index)), WELCOME_EDITOR_ID, true);
		}
	}
	/* (non-Javadoc)
	 * @see org.eclipse.ui.application.WorkbenchAdvisor#postWindowClose
	 */
	public void postWindowClose(IWorkbenchWindowConfigurer windowConfigurer) {
		WorkbenchActionBuilder a = (WorkbenchActionBuilder) windowConfigurer.getData(ACTION_BUILDER);
		if (a != null) {
			windowConfigurer.setData(ACTION_BUILDER, null);
			a.dispose();
		}
	}
	
	private void refreshFromLocal() {
		String[] commandLineArgs = Platform.getCommandLineArgs();
		IPreferenceStore store = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
		boolean refresh = store.getBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP);