public List<AGGREGATOR> view() {
        if (observableUpdater == null) {
            throw new IllegalStateException("Does not use observable updaters.");
        }
        List<LocalInstance<AGGREGATOR, SAMPLE>> current;
        synchronized (directoryLock) {
            current = new ArrayList<>(directory);
        }
        List<AGGREGATOR> view = new ArrayList<>(current.size());
        for (LocalInstance<AGGREGATOR, SAMPLE> x : current) {
            view.add(x.copyCurrent(observableUpdater));
        }
        return view;
    }
Get a view of the current data. This requires this ThreadLocalDirectory
to have been instantiated with an updater implementing ObservableUpdater.

@return a list of a copy of the current data in all producer threads
@throws IllegalStateException if the updater does not implement {@link ObservableUpdater}
vespajlib/src/main/java/com/yahoo/concurrent/ThreadLocalDirectory.java