void setComplete() {
        if (!isComplete) {
            logger.log(Level.FINE, "All applications have been activated: duper model is complete");
            isComplete = true;

            listeners.forEach(DuperModelListener::bootstrapComplete);
        }
    }
A non-thread-safe mutable container of ApplicationInfo, also taking care of listeners on changes.

@author hakonhall
service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java