The following two static methods create the same binary tree. Draw this binary tree: public static BinaryTree buildSimpleTree(){ return new BinaryTree("D", new BinaryTree("B", new BinaryTree("A"), new BinaryTree("C") ), new BinaryTree("F", new BinaryTree("E"), new BinaryTree("H", new BinaryTree("G"), new BinaryTree("I") ) ) ); } // same thing, but stores intermediary trees in local variables public static BinaryTree buildSimpleTree2(){ BinaryTree i = new BinaryTree("I"); BinaryTree g = new BinaryTree("G"); BinaryTree h = new BinaryTree("H", g, i); BinaryTree e = new BinaryTree("E"); BinaryTree f = new BinaryTree("F", e, h); BinaryTree a = new BinaryTree("A"); BinaryTree c = new BinaryTree("C"); BinaryTree b = new BinaryTree("B", a, c); BinaryTree d = new BinaryTree("D", b, f); return d; }