Я сначала вообще подумал, что эта задача, в отличие от похожих на предыдущих уровнях, должна решаться исключительно с помощью методов, без конструкторов. Поэтому изначально пробовал решать методами, но не понял как, зашел за подсказкой в комменты, а там все конструкторами решают, пришлось переделывать ) В итоге быстро решил, почерпнув тут пару подсказок, даже и не понял особо, как оно решилось. Короче, вот:
Human child1 = new Human("Tom",true,5, new ArrayList<>());
        Human child2 = new Human("Lora",false,7, new ArrayList<>());
        Human child3 = new Human("Chris",true,6, new ArrayList<>());
        ArrayList<Human> children = new ArrayList<>();
        children.add(child1);
        children.add(child2);
        children.add(child3);
        Human mother = new Human("Monika",false,26,children);
        Human father = new Human("Bret",true,28,children);
        ArrayList<Human> f = new ArrayList<>();
        f.add(father);
        ArrayList<Human> m = new ArrayList<>();
        m.add(mother);
        Human gm1 = new Human("Mona",false,55,f);
        Human gf1 = new Human("Max",true,54,f);
        Human gm2 = new Human("Ruby",false,52,m);
        Human gf2 = new Human("Vayne",true,49,m);

public static class Human {
        //напишите тут ваш код
        String name;
        boolean sex;
        int age;
        ArrayList<Human> children;

        Human(String name, boolean sex, int age, ArrayList<Human> children) {
            this.name=name;
            this.age=age;
            this.sex=sex;
            this.children=children;
        }
Меня интересует в целом правильность такого подхода к решению, в частности: 1) Почему пришлось инициализировать детей пустым ArrayList ? 2) Возможно стоило было как-то иначе объявить конструктор или переменные класса Human ?