public string GetDescriptionPath()
        {
            var          path    = new List <string>();
            IDescription current = this;

            while (current != null)
            {
                path.Add(current.key);
                current = current.GetParent();
            }

            path.Reverse();
            return(string.Join(".", path.ToArray()));
        }