// CODINGSPECTATOR: Pass the preview button object to the event handler "nextOrPreviewPressed" so
  // that CodingSpectator can tell that the user has pressed "preview" and not "next".
  private void createPreviewButton(Composite parent) {
    if (!(fCurrentPage instanceof PreviewWizardPage)
        && fWizard.internalHasPreviewPage(InternalAPI.INSTANCE)) {
      final Button preview =
          createButton(
              parent,
              PREVIEW_ID,
              RefactoringUIMessages.RefactoringWizardDialog2_buttons_preview_label,
              false);
      if (fMakeNextButtonDefault) {
        preview.getShell().setDefaultButton(preview);
      }
      preview.addSelectionListener(
          new SelectionAdapter() {

            public void widgetSelected(SelectionEvent e) {
              if (isPreviewPageActive()) {
                backPressed();
              } else {
                nextOrPreviewPressed(preview);
              }
            }
          });
    }
  }