public void removeAdditionalPage(IWizardPage page, boolean disposePage) {
   if (additionalPages.contains(page)) {
     if (disposePage && page.getControl() != null && !page.getControl().isDisposed()) {
       page.getControl().dispose();
     }
     additionalPages.remove(page);
   }
 }
 private void makeVisible(IWizardPage page) {
   if (fVisiblePage == page) return;
   if (fVisiblePage != null) fVisiblePage.setVisible(false);
   fVisiblePage = page;
   fPageContainer.showPage(page.getControl());
   fVisiblePage.setVisible(true);
 }
 private Map saveUIState(boolean keepCancelEnabled) {
   Map savedState = new HashMap(10);
   saveEnableStateAndSet(getButton(PREVIEW_ID), savedState, "preview", false); // $NON-NLS-1$
   saveEnableStateAndSet(
       getButton(IDialogConstants.OK_ID), savedState, "ok", false); // $NON-NLS-1$
   saveEnableStateAndSet(
       getButton(IDialogConstants.BACK_ID), savedState, "back", false); // $NON-NLS-1$
   saveEnableStateAndSet(
       getButton(IDialogConstants.NEXT_ID), savedState, "next", false); // $NON-NLS-1$
   saveEnableStateAndSet(
       getButton(IDialogConstants.CANCEL_ID),
       savedState,
       "cancel",
       keepCancelEnabled); //$NON-NLS-1$
   savedState.put("page", ControlEnableState.disable(fVisiblePage.getControl())); // $NON-NLS-1$
   return savedState;
 }
 private void showCurrentPage() {
   if (fCurrentPage.getControl() == null) fCurrentPage.createControl(fPageContainer);
   resize();
   makeVisible(fCurrentPage);
   updateButtons();
 }