if (sel.equals(oldSel) == false) fireValueChanged(lo, hi, valueIsAdjusting);
fireDifference(sel, (BitSet) oldSel);
  public void removeSelectionInterval(int index0,                                      int index1)  {    if (index0 == -1 || index1 == -1)      return;        oldSel = sel.clone();    int lo = Math.min(index0, index1);    int hi = Math.max(index0, index1);        // if selectionMode is SINGLE_INTERVAL_SELECTION and removing the interval    //   (index0,index1) would leave two disjoint selection intervals, remove all    //   selected indices from lo to the last selected index    if (getMinSelectionIndex() > 0 && getMinSelectionIndex() < lo &&         selectionMode == SINGLE_INTERVAL_SELECTION)      hi = sel.size() - 1;    sel.clear(lo, hi+1);     //update anchorSelectionIndex and leadSelectionIndex variables    //TODO: will probably need MouseDragged to test properly and know if this works    setAnchorSelectionIndex(index0);    leadSelectionIndex = index1;    if (sel.equals(oldSel) == false)    fireValueChanged(lo, hi, valueIsAdjusting);  }