@Override public ScheduledDataMetadata<S> addFutureFactory(R futureFactory, NewScheduledDataMetadata futureFactoryMetadata, String user, String comment, MergeDiffInfo<R> mergeDiff) { final ScheduledDataMetadata<S> storedFactoryMetadata = new ScheduledDataMetadata<>( LocalDateTime.now(), UUID.randomUUID().toString(), user, comment, futureFactoryMetadata.newDataMetadata.baseVersionId, futureFactoryMetadata.newDataMetadata.dataModelVersion, changeSummaryCreator.createFutureChangeSummary(mergeDiff), futureFactoryMetadata.scheduled ); final DataAndScheduledMetadata<R,S> updateData = new DataAndScheduledMetadata<>(futureFactory, storedFactoryMetadata); future.put(updateData.metadata.id, updateData); return storedFactoryMetadata; }