@Override
public Map<String, Store.ValueHolder<String>> bulkCompute(
final Set<? extends String> keys,
final Function<Iterable<? extends Entry<? extends String, ? extends String>>, Iterable<? extends Entry<? extends String, ? extends String>>> remappingFunction,
final Supplier<Boolean> replaceEqual)
throws StoreAccessException {
final Map<String, ValueHolder<String>> resultMap = new LinkedHashMap<>();
for (final String key : keys) {
final ValueHolder<String> newValue = this.computeAndGet(key,
(key1, oldValue) -> {
final Entry<String, String> entry = new AbstractMap.SimpleEntry<>(key1, oldValue);
final Entry<? extends String, ? extends String> remappedEntry =
remappingFunction.apply(Collections.singletonList(entry)).iterator().next();
return remappedEntry.getValue();
},
replaceEqual, INVOKE_WRITER_FALSE);
resultMap.put(key, newValue);
}
return resultMap;
}