boolean () { if (myDelegate != null) { myDelegate.doFinishAction(); NewProjectWizardCollector.logGeneratorFinished(myWizardContext); return true; } int idx = getCurrentStep(); try { do { final ModuleWizardStep step = mySteps.get(idx); if (step != getCurrentStepObject()) { step.updateStep(); } if (!commitStepData(step)) { return false; } step.onStepLeaving(); try { step._commit(true); } catch (CommitStepException e) { handleCommitException(e); return false; } if (!isLastStep(idx)) { idx = getNextStep(idx); } else { for (ModuleWizardStep wizardStep : mySteps) { try { wizardStep.onWizardFinished(); } catch (CommitStepException e) { handleCommitException(e); return false; } } break; } } while (true); } finally { myCurrentStep = idx; updateStep(); } NewProjectWizardCollector.logGeneratorFinished(myWizardContext); return true; }