class SequenceNumberCache {

    public void reserveSequenceNumbers(List<SerializedEvent> events) {
        reserveSequenceNumbers(events, false);
    }

    public  SequenceNumberCache(
            BiFunction<String, EventStorageEngine.SearchHint[], Optional<Long>> aggregateSequenceNumberProvider);
    public  SequenceNumberCache(
            BiFunction<String, EventStorageEngine.SearchHint[], Optional<Long>> aggregateSequenceNumberProvider,
            Clock clock, int maxSize);

}