override public void Berecne()
        {
            base.Berecne();

            if (null == Ergeebnis)
            {
                return;
            }

            var scanResultScrollAst =
                AstMainContainerMain
                ?.MatchingNodesFromSubtreeBreadthFirst(node => node?.PyObjTypNameIsScroll() ?? false)
                ?.OrderBy(node => node.LaagePlusVonParentErbeLaageB() ?? int.MinValue)
                ?.LastOrDefault();

            var listView =
                scanResultScrollAst?.AlsListView(
                    (node, setHeader, regionConstraint) => SictAuswertGbsListViewport <IListEntry> .ListEntryKonstruktSctandard(node, setHeader, regionConstraint, ListEntryTrenungZeleTypEnum.Ast));

            ErgeebnisWindowProbeScanner =
                new WindowProbeScanner(Ergeebnis)
            {
                ScanResultView = listView,
            };
        }
        static public ChatParticipantEntry ListEntryParticipantConstruct(
            UINodeInfoInTree ast,
            IColumnHeader[] listHeader,
            RectInt?regionConstraint)
        {
            var ListEntry = SictAuswertGbsListViewport <IListEntry> .ListEntryKonstruktSctandard(ast, listHeader, regionConstraint);

            if (null == ListEntry)
            {
                return(null);
            }

            var StatusIconSprite =
                ast.MengeChildAstTransitiiveHüle()
                ?.OfType <UINodeInfoInTree>()
                ?.FirstOrDefault(k => k.PyObjTypNameIsSprite() && (k.PyObjTypName?.ToLower().Contains("status") ?? false))
                ?.AlsSprite();

            var SetFlagWithStateIconNode =
                ast?.MengeChildAstTransitiiveHüle()
                ?.OfType <UINodeInfoInTree>()
                ?.Where(k => k?.PyObjTypNameMatchesRegexPatternIgnoreCase("FlagIconWithState") ?? false)
                ?.ToArray();

            var SetFlagWithStateIcon =
                SetFlagWithStateIconNode
                ?.Select(flagNode =>
            {
                var FlagIcon = flagNode.AlsSprite();

                var childSprite =
                    flagNode?.MengeChildAstTransitiiveHüle()?.OfType <UINodeInfoInTree>()
                    ?.Where(k => k.PyObjTypNameIsSprite())
                    ?.Select(k => k?.AlsSprite())?.WhereNotDefault()?.FirstOrDefault();

                if (null != FlagIcon)
                {
                    FlagIcon.Texture0Id  = FlagIcon.Texture0Id ?? childSprite?.Texture0Id;
                    FlagIcon.TexturePath = FlagIcon.TexturePath ?? childSprite?.TexturePath;
                    FlagIcon.Color       = FlagIcon.Color ?? childSprite?.Color;
                }

                return(FlagIcon);
            })
                ?.WhereNotDefault()
                ?.ToArrayIfNotEmpty();

            return(new ChatParticipantEntry(ListEntry)
            {
                NameLabel = ast.LargestLabelInSubtree().AsUIElementTextIfTextNotEmpty(),
                StatusIcon = StatusIconSprite,
                FlagIcon = SetFlagWithStateIcon,
            });
        }