protected HollowIncrementalProducer(HollowProducer producer, double threadsPerCpu, HollowConsumer.AnnouncementWatcher announcementWatcher, HollowConsumer.BlobRetriever blobRetriever, List<IncrementalCycleListener> listeners, Class<?>... classes) {
this.producer = producer;
this.mutations = new ConcurrentHashMap<RecordPrimaryKey, Object>();
this.populator = new HollowIncrementalCyclePopulator(mutations, threadsPerCpu);
this.dataModel = classes;
this.announcementWatcher = announcementWatcher;
this.blobRetriever = blobRetriever;
this.listeners = new ListenerSupport();
this.cycleMetadata = new HashMap<String, Object>();
this.threadsPerCpu = threadsPerCpu;
for (IncrementalCycleListener listener : listeners)
this.listeners.add(listener);
}