public void InOrderTraversal()
        {
            if (LeftNode != null)
            {
                LeftNode.InOrderTraversal();
            }

            //Then we print the root node
            Console.WriteLine("\nTitle: {0}", this.Title);
            Console.WriteLine("Staring: {0}", string.Join(", ", this.Starring));
            Console.WriteLine("Director: {0}", this.Director);
            Console.WriteLine("Genre: {0}", this.Genre);
            Console.WriteLine("Classification: {0}", this.Classification);
            Console.WriteLine("Duration: {0} minutes", this.Duration);
            Console.WriteLine("Release Date: {0}", this.ReleaseDate);
            Console.WriteLine("Copies That Exist: {0}", this.NumberOfCopiesThatExist);
            Console.WriteLine("Copies Available: {0}", this.NumberOfCopiesAvailable);
            Console.WriteLine("Times Borrowed: {0}\n", this.NumTimesBorrowed);

            //Then we go to the right node which will print itself as both its children are null
            if (RightNode != null)
            {
                RightNode.InOrderTraversal();
            }
        }
        public void InOrderTraversal()
        {
            //if leftNode is null, call InOrderTraversal recursively
            LeftNode?.InOrderTraversal();

            Console.Write(Data + " ");

            //if rightNode is null, call InOrderTraversal recursively
            RightNode?.InOrderTraversal();
        }