public void testPresent7() {
        try {
            TreeNode tree = new TreeNode("root", 2);
            tree.branch[0] = mkChain(new String[]{ "label1", "label2" });
            tree.branch[1] = mkChain(new String[]{ "label3", "label4" });
            TreeNode result = contains(tree, new TreeNode("label3"));
            if (result == null) {
                fail(null, "Your method `unexpectibly` returns **null** when searching for an existing node of a branching tree!");
            } // end of if-then
            if (result.getData() == null) {
                fail(null, "Your answer returns a `TreeNode` instance with a **null** label!");
            } // end of if-then
            if (result.getBranch() == null) {
                fail(null, "Your answer returns a `TreeNode` instance with a **null** branch!");
            } // end of if-then
            if (result.getBranch().length != 1) {
                fail(null, "Your answer should have returned a `1-branching` node!");
            } // end of if-then
            assertTrue(null, "Failed to locate an internal node of a branching tree!", result.getData().equals("label3"));
        } catch(NotFound exn) {
            fail(exn, "You can not locate the `internal` node of a branching tree! Possible causes: \n* Maybe you have an error in your `recursive` solution:\n* are `all` return statements present?\n* Maybe you are using the `question's` equals method instead of simply comparing node labels?\n* What is the difference between `==` and the `equals(Object)` method?");
        } catch(TreeException exn) {
            fail(exn, "An unexpected `TreeException` was thrown!");
        } catch(Throwable exn) {
            fail(exn, "Unexpected exception thrown: " + exn.getClass().getName());
        } // end of try-catch
    } // end of method testPresent7