public PatchWizard(IStorage patch, IResource target, CompareConfiguration configuration) {
   Assert.isNotNull(configuration);
   this.fConfiguration = configuration;
   setDefaultPageImageDescriptor(
       CompareUIPlugin.getImageDescriptor("wizban/applypatch_wizban.png")); // $NON-NLS-1$
   setWindowTitle(PatchMessages.PatchWizard_title);
   initializeDialogSettings();
   fPatcher = new WorkspacePatcher(target);
   if (patch != null) {
     try {
       fPatcher.parse(patch);
       this.patch = patch;
       patchReadIn = true;
     } catch (IOException e) {
       MessageDialog.openError(
           null,
           PatchMessages.InputPatchPage_PatchErrorDialog_title,
           PatchMessages.InputPatchPage_ParseError_message);
     } catch (CoreException e) {
       ErrorDialog.openError(
           getShell(),
           PatchMessages.InputPatchPage_PatchErrorDialog_title,
           PatchMessages.InputPatchPage_PatchFileNotFound_message,
           e.getStatus());
     }
   }
 }