// Print out the codes; insert these codes into CodeTable static void outputTree(HuffBaseNode<Character> node, String prefix) { assert node != null : "Bad input tree"; // This is a full binary tree so must not be null subtree if (node.isLeaf()) { System.out.println(((HuffLeafNode<Character>) node).element() + "\t" + prefix); char temp = ((HuffLeafNode<Character>) node).element(); codeTable.addElement(new Code(temp, prefix)); total += prefix.length() * node.weight(); } else { outputTree(((HuffInternalNode) node).left(), prefix + "0"); outputTree(((HuffInternalNode) node).right(), prefix + "1"); } }