public void Parse(AdminShell.IRecurseOnReferables root)
        {
            root?.RecurseOnReferables(null,
                                      includeThis: true,
                                      lambda: (o, parents, rf) =>
            {
                if (rf is AdminShell.IGetQualifiers gqs)
                {
                    var qs = gqs.GetQualifiers();
                    if (qs != null)
                    {
                        foreach (var q in qs.FindAllQualifierType("Annotation.Args"))
                        {
                            var a = AnnotatedElemArgs.Parse(q?.value);
                            if (a == null)
                            {
                                continue;
                            }

                            if (a.desc && rf is AdminShell.Submodel sm)
                            {
                                a.Description = sm.description;
                            }

                            if (a.desc && rf is AdminShell.SubmodelElement sme)
                            {
                                a.Description = sme.description;
                            }

                            _args.Add(a);
                        }
                    }
                }
                return(true);
            });
        }
 public AnnotatedElements(AdminShell.IRecurseOnReferables root)
 {
     Parse(root);
 }