public void testValidEdge1b() {
        TreeNode tree = new TreeNode("tree", 1);
        tree.setBranch(new TreeNode[]{ new TreeNode("leaf") });
        TreeNode subtree = new TreeNode("subtree");
        setTree(tree);
        TreeNode realTree = ((Question1)answer);
        try {
            ((Question1)answer).addSubTree(subtree, realTree, 0);
            if (!((String)(realTree.getData())).equals("tree")) {
                fail(null, "Your code has incorrectly added in a leaf node to a 1-branching tree");
            } // end of if-then
            if (realTree.getBranch().length != 1) { 
                fail(null, "Your code has incorrectly added in a leaf node to a 1-branching tree");
            } // end of if-then
            if (realTree.getBranch()[0] == null) {
                fail(null, "Your code has incorrectly added in a leaf node to a 1-branching tree");
            } // end of if-then
            assertTrue(new Error(), "Your code does **not** add in a `reference` to the given subtree - it adds in a **duplicate** of it!", 
                realTree.getBranch()[0] == subtree);
        } 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?");
        } 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 subtree and node parameters 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 subtree and node parameters 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 testValidEdge1b