default CompletableFuture<Void> batch(String project, List<? extends ISingleUserBatchOperation> operations) {
for (ISingleUserBatchOperation operation : operations) {
if (operation.getSetPropertiesOnce() != null) {
setUserProperties(project, operation.getUser(), operation.getSetProperties());
}
if (operation.getSetPropertiesOnce() != null) {
setUserPropertiesOnce(project, operation.getUser(), operation.getSetPropertiesOnce());
}
if (operation.getUnsetProperties() != null) {
unsetProperties(project, operation.getUser(), operation.getUnsetProperties());
}
if (operation.getIncrementProperties() != null) {
for (Map.Entry<String, Double> entry : operation.getIncrementProperties().entrySet()) {
incrementProperty(project, operation.getUser(), entry.getKey(), entry.getValue());
}
}
}
return CompletableFuture.completedFuture(null);
}