@Transactional(propagation = Propagation.REQUIRES_NEW)
@Override
public Pair<String, List<PropagationStatus>> create(
final GroupTO groupTO,
final Map<String, String> groupOwnerMap,
final Set<String> excludedResources,
final boolean nullPriorityAsync) {
WorkflowResult<String> created = gwfAdapter.create(groupTO);
groupTO.getPlainAttr(StringUtils.EMPTY).ifPresent(groupOwner
-> groupOwnerMap.put(created.getResult(), groupOwner.getValues().iterator().next()));
List<PropagationTaskInfo> tasks = propagationManager.getCreateTasks(
AnyTypeKind.GROUP,
created.getResult(),
null,
created.getPropByRes(),
groupTO.getVirAttrs(),
excludedResources);
PropagationReporter propagationReporter = taskExecutor.execute(tasks, nullPriorityAsync);
return Pair.of(created.getResult(), propagationReporter.getStatuses());
}