@Override
  public boolean performFinish() {
    List<ModelFile> list = modelPage.getModelList();
    String dir = namePage.getSrcDirectory();
    String packName = namePage.getPackageName();
    Map<DMDLImporterExporterGenerator, String> map = namePage.getClassName();

    boolean first = true;
    for (ModelFile mf : list) {
      IProject project = mf.file.getProject();
      if (properties == null) {
        properties = BuildPropertiesUtil.getBuildProperties(project, true);
      }
      for (SetImporterExporterMethodPage page : methodPageList) {
        DMDLImporterExporterGenerator generator = page.getGenerator();
        String className = map.get(generator);
        if (className != null) {
          try {
            String name = StringUtil.append(packName, className);
            generator.generate(project, properties, page.getValues(), mf.model, dir, name, first);
            first = false;
          } catch (CoreException e) {
            String message =
                MessageFormat.format(
                    "生成中にエラーが発生しました\nmodel={0}\ntype={1}",
                    mf.model.getName(), generator.getDisplayName());
            ErrorDialog.openError(getShell(), "error", message, e.getStatus());
          }
        }
      }
    }

    return true;
  }
 private IWizardPage getPage(IWizardPage page) {
   if (page == namePage) {
     if (properties == null) {
       List<ModelFile> list = modelPage.getModelList();
       IProject project = list.get(0).file.getProject();
       properties = BuildPropertiesUtil.getBuildProperties(project, true);
     }
     namePage.setProperties(properties);
   }
   return page;
 }