private static <AD extends AdditionalData> void arrangeForPresentationExt(TreeNode<AugmentedTrigger<AD>> root,
AugmentedTrigger<AD> trigger, AdditionalFilter<AD> additionalFilter) {
boolean hidden = isHidden(trigger.trigger);
boolean isFinal = Boolean.TRUE.equals(trigger.trigger.isFinal());
if (!hidden) {
if (additionalFilter != null && !additionalFilter.accepts(trigger)) {
return;
}
TreeNode<AugmentedTrigger<AD>> newNode = new TreeNode<>(trigger);
root.add(newNode);
root = newNode;
}
if (!isFinal) {
for (EvaluatedPolicyRuleTriggerType innerTrigger : getChildTriggers(trigger.trigger)) {
arrangeForPresentationExt(root, new AugmentedTrigger<>(innerTrigger, trigger.additionalData), additionalFilter);
}
}
}