private SliderRow forgeSliderRow(Slider slider) {
    String startLabel = slider.getStartLabel();
    TextElement startLabelEl =
        uifactory.addTextElement(
            "start.label." + count.incrementAndGet(), "start.label", 256, startLabel, flc);
    startLabelEl.setDomReplacementWrapperRequired(false);
    String endLabel = slider.getEndLabel();
    TextElement endLabelEl =
        uifactory.addTextElement(
            "end.label." + count.incrementAndGet(), "end.label", 256, endLabel, flc);
    endLabelEl.setDomReplacementWrapperRequired(false);

    SliderRow row = new SliderRow(slider, startLabelEl, endLabelEl);
    if (!restrictedEdit) {
      FormLink deleteButton =
          uifactory.addFormLink(
              "del." + count.incrementAndGet(),
              "delete_slider",
              "",
              null,
              flc,
              Link.BUTTON | Link.NONTRANSLATED);
      deleteButton.setDomReplacementWrapperRequired(false);
      deleteButton.setIconLeftCSS("o_icon o_icon-lg o_icon_delete_item");
      deleteButton.setUserObject(row);
      row.setDeleteButton(deleteButton);
      flc.contextPut("deleteButtons", Boolean.TRUE);
    }
    return row;
  }
  private void commitFields() {
    for (SliderRow row : sliders) {
      String start = row.getStartLabelEl().getValue();
      String end = row.getEndLabelEl().getValue();

      if (StringHelper.containsNonWhitespace(start)) {
        row.getSlider().setStartLabel(start);
      } else {
        row.getSlider().setStartLabel(null);
      }
      if (StringHelper.containsNonWhitespace(end)) {
        row.getSlider().setEndLabel(end);
      } else {
        row.getSlider().setEndLabel(null);
      }
    }
  }
 private void doRemoveSlider(SliderRow row) {
   updateSteps();
   sliders.remove(row);
   rubric.getSliders().remove(row.getSlider());
   flc.setDirty(true);
 }