public List <int> InOrder()
            {
                List <int> result = new List <int>();

                if (LeftNode != null)
                {
                    result.AddRange(LeftNode.InOrder());
                }
                result.Add(Id);
                if (RightNode != null)
                {
                    result.AddRange(RightNode.InOrder());
                }
                return(result);
            }