public void _startRangeSelection() {
    requiredMethod("addRangeSelectionChangeListener()");
    requiredMethod("addRangeSelectionListener()");

    // get the sheet center
    Point center = getSheetCenter();
    if (center == null) throw new StatusException(Status.failed("Couldn't get the sheet center."));

    PropertyValue[] props = new PropertyValue[3];
    props[0] = new PropertyValue();
    props[0].Name = "InitialValue";
    props[0].Value = "B3:D5";
    props[1] = new PropertyValue();
    props[1].Name = "Title";
    props[1].Value = "the title";
    props[2] = new PropertyValue();
    props[2].Name = "CloseOnMouseRelease";
    props[2].Value = Boolean.FALSE;
    oObj.startRangeSelection(props);
    // wait for listeners
    util.utils.shortWait(1000);

    // get closer button: move if window cobvers the sheet center
    Point closer = getCloser(center);
    if (closer == null) throw new StatusException(Status.failed("Couldn't get the close Button."));

    // do something to trigger the listeners
    clickOnSheet(center);
    util.utils.shortWait(5000);

    // click on closer
    clickOnSheet(closer);
    util.utils.shortWait(5000);

    // open a new range selection
    props[0].Value = "C4:E6";
    oObj.startRangeSelection(props);
    util.utils.shortWait(1000);
    props[0].Value = "C2:E3";
    oObj.startRangeSelection(props);
    util.utils.shortWait(1000);

    oObj.startRangeSelection(props);
    util.utils.shortWait(1000);
    oObj.abortRangeSelection();
    aListener.reset();
    System.out.println("Listener called: " + aListener.bAbortCalled);

    tRes.tested("startRangeSelection()", aListener.listenerCalled());
  }
 public void _abortRangeSelection() {
   requiredMethod("removeRangeSelectionChangeListener()");
   requiredMethod("removeRangeSelectionListener()");
   oObj.abortRangeSelection();
   tRes.tested("abortRangeSelection()", true);
 }