@Override
 public void dispose() {
   IProductModel model = getModel();
   if (model != null) {
     model.removeModelChangedListener(this);
   }
   super.dispose();
 }
 @Override
 public void refresh() {
   fLastTab = fTabFolder.getSelectionIndex();
   IArgumentsInfo launcherArguments = getLauncherArguments();
   fProgramArgs.setValue(
       launcherArguments.getProgramArguments(fLastTab, fLastArch[fLastTab]), true);
   fVMArgs.setValue(launcherArguments.getVMArguments(fLastTab, fLastArch[fLastTab]), true);
   updateArgumentPreview(launcherArguments);
   super.refresh();
 }
 @Override
 public void cancelEdit() {
   fProgramArgs.cancelEdit();
   fVMArgs.cancelEdit();
   super.cancelEdit();
 }
 @Override
 public void commit(boolean onSave) {
   fProgramArgs.commit();
   fVMArgs.commit();
   super.commit(onSave);
 }