public void setStroke(Stroke s) {
   strokeIndex = StrokeGenerator.getStrokeIndex(s);
 }
 public Stroke getStroke() {
   return StrokeGenerator.getStroke(strokeIndex);
 }
 public Stroke getDelimterLineStroke() {
   return StrokeGenerator.getStroke(delimiterStrokeIndex);
 }
 public void setDelimiterLineStroke(Stroke s) {
   delimiterStrokeIndex = StrokeGenerator.getStrokeIndex(s);
 }
  @SuppressWarnings("unchecked")
  protected @Override Sheet createSheet() {
    Sheet sheet = Sheet.createDefault();
    Sheet.Set set = getPropertiesSet();
    sheet.put(set);

    try {
      // Label
      set.put(
          getProperty(
              "Label", // property name
              "Sets the label", // property description
              IndicatorProperties.class, // properties class
              String.class, // property class
              PropertyEditorSupport.class, // property editor class (null if none)
              "getLabel", // get method name
              "setLabel", // set method name
              IndicatorProperties.LABEL // default property value
              ));
      // Marker Visibility
      set.put(
          getProperty(
              "Marker Visibility", // property name
              "Sets the marker visibility", // property description
              IndicatorProperties.class, // properties class
              boolean.class, // property class
              null, // property editor class (null if none)
              "getMarker", // get method name
              "setMarker", // set method name
              IndicatorProperties.MARKER // default property value
              ));
      // Fast Period
      set.put(
          getProperty(
              "Fast Period", // property name
              "Sets the Fast Period", // property description
              IndicatorProperties.class, // properties class
              int.class, // property class
              null, // property editor class (null if none)
              "getFastPeriod", // get method name
              "setFastPeriod", // set method name
              IndicatorProperties.FAST_PERIOD // default property value
              ));
      // Slow Period
      set.put(
          getProperty(
              "Slow Period", // property name
              "Sets the Slow Period", // property description
              IndicatorProperties.class, // properties class
              int.class, // property class
              null, // property editor class (null if none)
              "getSlowPeriod", // get method name
              "setSlowPeriod", // set method name
              IndicatorProperties.SLOW_PERIOD // default property value
              ));
      // Line Color
      set.put(
          getProperty(
              "Line Color", // property name
              "Sets the line color", // property description
              IndicatorProperties.class, // properties class
              Color.class, // property class
              null, // property editor class (null if none)
              "getColor", // get method name
              "setColor", // set method name
              IndicatorProperties.COLOR // default property value
              ));
      // Line Style
      set.put(
          getProperty(
              "Line Style", // property name
              "Sets the line style", // property description
              IndicatorProperties.class, // properties class
              Stroke.class, // property class
              StrokePropertyEditor.class, // property editor class (null if none)
              "getStroke", // get method name
              "setStroke", // set method name
              StrokeGenerator.getStroke(IndicatorProperties.STROKE_INDEX) // default property value
              ));
    } catch (NoSuchMethodException ex) {
      LOG.log(Level.SEVERE, "[Absolute Price Oscillator Node] : Method does not exist.", ex);
    }

    return sheet;
  }