@Override
public DatasetSpecification reconfigure(String instanceName,
DatasetProperties newProperties,
DatasetSpecification currentSpec) throws IncompatibleUpdateException {
List<DatasetSpecification> specs = new ArrayList<>();
for (Map.Entry<String, ? extends DatasetDefinition> impl : this.delegates.entrySet()) {
specs.add(reconfigure(impl.getValue(), impl.getKey(),
newProperties, currentSpec.getSpecification(impl.getKey())));
}
return DatasetSpecification.builder(instanceName, getName())
.properties(newProperties.getProperties())
.datasets(specs)
.build();
}