docs: private void fireObjectsChanged(DBIDs objects, Type type) {
      // flush first
      if(currentDataStoreEventType != null && !currentDataStoreEventType.equals(type)) {
        flushDataStoreEvents();
      }
      if(accumulateDataStoreEvents) {
        if(this.dataStoreObjects == null) {
          this.dataStoreObjects = DBIDUtil.newHashSet();
        }
        this.dataStoreObjects.addDBIDs(objects);
        currentDataStoreEventType = type;
        return;
      }
      // Execute immediately:
      DataStoreEvent e;
      switch(type){
      case INSERT:
        e = DataStoreEvent.insertionEvent(objects);
        break;
      case REMOVE:
        e = DataStoreEvent.removalEvent(objects);
        break;
      case UPDATE:
        e = DataStoreEvent.updateEvent(objects);
        break;
      default:
        return;
      }
  
      for(int i = dataListenerList.size(); --i >= 0;) {
        dataListenerList.get(i).contentChanged(e);
      }
    }