public void testValidEdge4() {
        try {
            TreeNode tree = new TreeNode("tree", 3);
            TreeNode subtree1 = new TreeNode("spare-subtree1");
            TreeNode subtree2 = new TreeNode("spare-subtree2");
            tree.setBranch(new TreeNode[]{ new TreeNode("subtree"), subtree1, subtree2});
            setTree(tree);
            TreeNode realTree = ((Question1)answer);
            ((Question1)answer).deleteSubTree(realTree, 0);
            assertTrue(null, "Your code has incorrectly deleted a leaf node from a 3-branching tree", 
                ((String)(realTree.getData())).equals("tree") 
                && realTree.getBranch().length == 3
                && realTree.getBranch()[0] == null
                && realTree.getBranch()[1] == subtree1
                && realTree.getBranch()[2] == subtree2);
        } catch(TreeException exn) {
            fail(exn, "Your code threw a `TreeException`. Possible causes: \n* Remember that the `root` node has a `label`.\n* Maybe you are using your parameters incorrectly?\n* Maybe you are using `==` instead of the `equals` method when testing labels?");
        } catch(NullPointerException exn) {
            fail(exn, "Your code threw an `NullPointerException`. Possible causes: \n* Remember that the `root` node has a `label`.\n* Maybe you are using your node parameter incorrectly?\n* Maybe you have assumed that edge numbering starts at 1?\n* Has your code forgotten to `exclude` the branch array's size as an index value?");
        } catch(ArrayIndexOutOfBoundsException exn) {
            fail(exn, "Your code threw an `ArrayIndexOutOfBoundsException`. Possible causes: \n* Remember that the `root` node has a `label`.\n* Maybe you are using your node parameter incorrectly?\n* Maybe you have assumed that edge numbering starts at 1?\n* Has your code forgotten to `exclude` the branch array's size as an index value?");
        } catch(Throwable exn) {
            fail(exn, "No exception's should be generated, but your code threw: " + exn.getClass().getName());
        } // end of try-catch
    } // end of method testValidEdge4