void resetSelection() {
   if (myList.getSelectedIndex() != -1) return;
   SelectTemplateSettings settings = SelectTemplateSettings.getInstance();
   if (settings.getLastGroup() == null
       || !setSelectedTemplate(settings.getLastGroup(), settings.getLastTemplate())) {
     myList.setSelectedIndex(0);
   }
 }
 void saveSelection() {
   TemplateItem item = (TemplateItem) myList.getSelectedValue();
   if (item != null) {
     SelectTemplateSettings.getInstance().setLastTemplate(item.getGroupName(), item.getName());
   }
 }
 @Override
 public void onStepLeaving() {
   SelectTemplateSettings settings = SelectTemplateSettings.getInstance();
   settings.EXPERT_MODE = myExpertDecorator.isExpanded();
   myList.saveSelection();
 }
 @Override
 public void updateStep() {
   myList.resetSelection();
   myExpertDecorator.setOn(SelectTemplateSettings.getInstance().EXPERT_MODE);
 }