public void ApplyAfterRead(BlockNode control, bool inResponsiveContext = false)
        {
            var controlTemplateName        = control.Name?.Kind?.TypeName ?? string.Empty;
            var controlTemplateVariantName = control.Name?.Kind?.OptionalVariant ?? string.Empty;

            var childResponsiveContext = DynamicProperties.AddsChildDynamicProperties(controlTemplateName, controlTemplateVariantName);

            foreach (var child in control.Children)
            {
                ApplyAfterRead(child, childResponsiveContext);
            }

            // Apply default values first, before re-arranging controls
            _defaultValTransform.AfterRead(control, inResponsiveContext);

            foreach (var transform in _templateTransforms)
            {
                if (transform.TargetTemplates.Contains(controlTemplateName))
                {
                    transform.AfterRead(control);
                }
            }

            _groupControlTransform.AfterRead(control);
        }
        public void ApplyAfterRead(BlockNode control)
        {
            foreach (var child in control.Children)
            {
                ApplyAfterRead(child);
            }

            // Apply default values first, before re-arranging controls
            _defaultValTransform.AfterRead(control);

            var controlTemplateName = control.Name?.Kind?.TypeName ?? string.Empty;

            foreach (var transform in _templateTransforms)
            {
                if (transform.TargetTemplates.Contains(controlTemplateName))
                {
                    transform.AfterRead(control);
                }
            }
        }