void AppendChildren( IActivityMonitor monitor, ActionCompositeConfiguration a, IReadOnlyList<string> childPath, bool flattenUselessComposite )
{
foreach( var child in a.Children )
{
ActionCompositeConfiguration composite = child as ActionCompositeConfiguration;
if( flattenUselessComposite && composite != null && composite.IsParallel == a.IsParallel )
{
AppendChildren( monitor, composite, childPath = childPath.Append( composite.Name ).ToArray(), true );
}
else _children.Add( ActionConfigurationResolved.Create( monitor, child, flattenUselessComposite, _children.Count, childPath ) );
}
}