@Override
 public void propertyChanged(String key) {
   // Auto-generate an output name from the input grid.
   if (key.equals(_inputGrid.getKey())) {
     updateOutputName();
   } else if (key.equals(_filterMethodProp.getKey())) {
     _kernelString.set(getKernel());
     updateOutputName();
   } else if (key.equals(_size.getKey())) {
     if (_filterMethodProp.get().getFilter().validateSize(_size.get())) {
       _kernelString.set(getKernel());
       updateOutputName();
     }
   }
 }
  public void updateOutputName() {

    String nameSuffix = "_" + _filterMethodProp.get().getAbbrev() + _size.get();
    String outputName =
        _inputGrid.isNull()
            ? ""
            : _inputGrid
                .get()
                .getMapper()
                .createOutputDisplayName(_inputGrid.get().getDisplayName(), nameSuffix);
    _outputGridName.set(outputName);
  }
 /**
  * Set the Y axis range of the viewable bounds
  *
  * @param yrange The Y axis range
  */
 public void setYAxisRange(final AxisRange yrange) {
   _yAxisRange = yrange;
   _yaxisRange.set(yrange.toString());
 }
 /**
  * Set the X axis range of the viewable bounds
  *
  * @param xrange The X axis range
  */
 public void setXAxisRange(final AxisRange xrange) {
   _xAxisRange = xrange;
   _xaxisRange.set(xrange.toString());
 }