class DefaultMetaStoreEventAggregator implements MetaStoreEventAggregator {

  @Override
  public List<MetaStoreEvent> aggregate(List<MetaStoreEvent> events) {
    Map<String, List<MetaStoreEvent>> eventsPerTable = mapEvents(events);
    List<MetaStoreEvent> aggregatedEvents = new ArrayList<>();
    for (List<MetaStoreEvent> tableEvents : eventsPerTable.values()) {
      aggregatedEvents.addAll(compactor.compact(tableEvents));
    }
    return aggregatedEvents;
  }

  public  DefaultMetaStoreEventAggregator();
  public  DefaultMetaStoreEventAggregator(DefaultMetaStoreEventCompactor compactor);

}