def add_selection_interval ix0, ix1
      return if @selection_mode != :multiple
      @widget_scrolled = true # FIXME we need a better name
      @anchor_selection_index = ix0
      @lead_selection_index = ix1
      ix0.upto(ix1) {|i| @selected_indices  << i unless @selected_indices.include? i }
      lse = ListSelectionEvent.new(ix0, ix1, self, :INSERT)
      fire_handler :LIST_SELECTION_EVENT, lse
      #$log.debug " DLSM firing LIST_SELECTION EVENT #{lse}"
    end
def add_selection_interval ix0, ix1
      return if @selection_mode != :multiple
      @widget_scrolled = true # FIXME we need a better name
      @anchor_selection_index = ix0
      @lead_selection_index = ix1
      ix0.upto(ix1) {|i| @selected_indices  << i unless @selected_indices.include? i }
      lse = ListSelectionEvent.new(ix0, ix1, self, :INSERT)
      fire_handler :LIST_SELECTION_EVENT, lse
      #$log.debug " DLSM firing LIST_SELECTION EVENT #{lse}"
    end
add the following range to selected items, unless already present
 should only be used if multiple selection interval