public class TraversableTree<T extends Comparable<T>> extends RedBlackTree<T> {

    /**
     * Performs an in-order traversal on the tree by using a recursive
     * helper method.
     */
    public void inOrderTraversal() {
        this.inOrderTraversal(this.root);
    }

    /**
     * Recursive helper to perform in-order traversals.
     * @param node the current node we're traversing
     */
    protected void inOrderTraversal(BinaryNode<T> node) {
        if (node != null) {
            this.inOrderTraversal(node.getLeft());
            System.out.println(node.getData());
            this.inOrderTraversal(node.getRight());
        }
    }

    public static void main(String[] args) {
        TraversableTree<Integer> tree = new TraversableTree<>();
       
        tree.insert(1);
        tree.insert(13);
        tree.insert(22);
        tree.insert(8);
        tree.insert(5);
        
        tree.inOrderTraversal();

    }

}