def removing(range, &block)
      return if range.count == 0

      @access.begin_remove(range.min, range.max)
      ret = yield
      @access.end_remove
      ret
    end
def removing(range, &block)
      return if range.count == 0

      @access.begin_remove(range.min, range.max)
      ret = yield
      @access.end_remove
      ret
    end
Notifies the list views that items are about to be and were removed.
 @param [Range<Integer>] range the index range of the items before removed.
 @yield the block that actually do removal of the items.
 @return the result of give block.
 @see http://qt-project.org/doc/qt-5/qabstractitemmodel.html#beginRemoveRows QAbstractItemModel::beginRemoveRows
 @see http://qt-project.org/doc/qt-5/qabstractitemmodel.html#endRemoveRows QAbstractItemModel::endRemoveRows
 @see #inserting
 @see #moving