def clear_selection
      return if @selected_indices.nil? || @selected_indices.empty?
      @selected_indices = []
      @selected_index = nil
      @old_selected_index = nil
      # Not sure what event type I should give, DELETE or a new one, user should
      #  understand that selection has been cleared, and ignore first two params
      lse = ListSelectionEvent.new(0, @list.size, self, :CLEAR)
      fire_handler :LIST_SELECTION_EVENT, lse
      @repaint_required = true
      @widget_scrolled = true # FIXME we need a better name
    end
def clear_selection
      return if @selected_indices.nil? || @selected_indices.empty?
      @selected_indices = []
      @selected_index = nil
      @old_selected_index = nil
      # Not sure what event type I should give, DELETE or a new one, user should
      #  understand that selection has been cleared, and ignore first two params
      lse = ListSelectionEvent.new(0, @list.size, self, :CLEAR)
      fire_handler :LIST_SELECTION_EVENT, lse
      @repaint_required = true
      @widget_scrolled = true # FIXME we need a better name
    end
clears selected indices, typically called when multiple select
 Key binding is application specific