docs: public void flushDataStoreEvents() {
      DataStoreEvent e;
      switch(currentDataStoreEventType){
      case INSERT:
        e = DataStoreEvent.insertionEvent(dataStoreObjects);
        break;
      case REMOVE:
        e = DataStoreEvent.removalEvent(dataStoreObjects);
        break;
      case UPDATE:
        e = DataStoreEvent.updateEvent(dataStoreObjects);
        break;
      default:
        return;
      }
  
      for(int i = dataListenerList.size(); --i >= 0;) {
        dataListenerList.get(i).contentChanged(e);
      }
      // reset
      accumulateDataStoreEvents = false;
      currentDataStoreEventType = null;
      dataStoreObjects = null;
    }