internal virtual CodeElement BuildElement(CodeElement parent)
        {
            string       fullName = GetFullName(parent);
            CodeLocation location = GetLocation(parent);
            CodeElement  element  = CreateCodeElement(Name, fullName, location, parent);

            foreach (var child in Children)
            {
                var childElement = child.BuildElement(element);
                element.AddChild(childElement);
            }

            return(element);
        }