public String toString() {
   Integer pn = IntPool.get(0);
   try {
     pn = pm.getValue();
     return new AggRemoteName(pn, defPC.getPresetName(pm.getValue())).toString();
   } catch (ParameterUnavailableException e) {
     // e.printStackTrace();
   } catch (NoSuchPresetException e) {
   } catch (PresetEmptyException e) {
     return new AggRemoteName(pn, DeviceContext.EMPTY_PRESET).toString();
   }
   return pn.toString();
 }
 public String getToolTipText() {
   try {
     return defPC.getReadablePreset(pm.getValue()).getToolTipText();
   } catch (NoSuchPresetException e) {
   } catch (ParameterUnavailableException e) {
   }
   return "";
 }
 public Icon getIcon() {
   try {
     return defPC.getReadablePreset(pm.getValue()).getIcon();
   } catch (NoSuchPresetException e) {
   } catch (ParameterUnavailableException e) {
   }
   return null;
 }
 public Integer getValue() throws ParameterUnavailableException {
   return pm.getValue();
 }
 public MultiModePresetEditableParameterModel(EditableParameterModel pm, PresetContext pc) {
   this.pm = pm;
   defPC = pc;
   pm.setTipShowingOwner(true);
 }
 public boolean getShowUnits() {
   return pm.getShowUnits();
 }
 public void setValue(EditChainValueProvider ecvp, EditableParameterModel[] chained)
     throws ParameterUnavailableException, ParameterValueOutOfRangeException {
   ((EditableParameterModel) pm).setValue(ecvp, chained);
 }
 public void defaultValue()
     throws ParameterUnavailableException, ParameterValueOutOfRangeException {
   ((EditableParameterModel) pm).defaultValue();
 }
 public void removeChangeListener(ChangeListener cl) {
   pm.removeChangeListener(cl);
 }
 public String getValueUnitlessString() throws ParameterUnavailableException {
   return pm.getValueUnitlessString();
 }
 public ZCommand[] getZCommands() {
   return pm.getZCommands();
 }
 public void zDispose() {
   pm.zDispose();
 }
 public void setShowUnits(boolean showUnits) {
   pm.setShowUnits(showUnits);
 }
 public void setTipShowingOwner(boolean tipShowsOwner) {
   pm.setTipShowingOwner(tipShowsOwner);
 }
 public void setValue(Integer value)
     throws ParameterUnavailableException, ParameterValueOutOfRangeException {
   ((EditableParameterModel) pm).setValue(value);
 }
 public boolean isTipShowingOwner() {
   return pm.isTipShowingOwner();
 }
 public void setValueUnitlessString(String value)
     throws ParameterUnavailableException, ParameterValueOutOfRangeException {
   ((EditableParameterModel) pm).setValueUnitlessString(value);
 }
 public GeneralParameterDescriptor getParameterDescriptor() {
   return pm.getParameterDescriptor();
 }
 public void addChangeListener(ChangeListener cl) {
   pm.addChangeListener(cl);
 }