@Override
    public boolean isValid() {
      if (component.getViewName() == null || component.getViewName().isEmpty()) {
        AfterburnerFXTemplateWizardIterator.setInfoMessage(
            "WARN_ConfigureAfterburnerViewPanel_Provide_View_Name", settings); // NOI18N
        return false;
      }

      // Clean up messages
      settings.getNotificationLineSupport().setErrorMessage(null);
      return true;
    }
    @Override
    public void readSettings(WizardDescriptor settings) {
      this.settings = settings;
      // Try to preselect a folder
      FileObject preselectedFolder = Templates.getTargetFolder(settings);
      // Init values
      component.initValues(Templates.getTemplate(settings), preselectedFolder);

      // XXX hack, TemplateWizard in final setTemplateImpl() forces new wizard's title
      // this name is used in NewFileWizard to modify the title
      Object substitute = component.getClientProperty("NewFileWizard_Title"); // NOI18N
      if (substitute != null) {
        settings.putProperty("NewFileWizard_Title", substitute); // NOI18N
      }
    }
 @Override
 public void storeSettings(WizardDescriptor settings) {
   Object value = settings.getValue();
   if (WizardDescriptor.PREVIOUS_OPTION.equals(value)
       || WizardDescriptor.CANCEL_OPTION.equals(value)
       || WizardDescriptor.CLOSED_OPTION.equals(value)) {
     return;
   }
   settings.putProperty(
       AfterburnerFXTemplateWizardIterator.JAVA_DIR, Templates.getTargetFolder(settings));
   settings.putProperty(AfterburnerFXTemplateWizardIterator.NAME, component.getViewName());
   settings.putProperty(
       AfterburnerFXTemplateWizardIterator.GENERATE_BUNDLE, component.isBundleNeeded());
   settings.putProperty(
       AfterburnerFXTemplateWizardIterator.GENERATE_CONFIG, component.isConfigurationNeeded());
   settings.putProperty(
       AfterburnerFXTemplateWizardIterator.GENERATE_CSS, component.isCssNeeded());
   settings.putProperty("NewFileWizard_Title", null); // NOI18N
 }