Почему не выводится результат foreach?

У меня проблема следующая - есть класс Person, у него есть List <Children.>. В классе Children есть int age. У меня есть List<Person.>, из которого хочу получить список всех детей которым больше 18 с помощью стрима. Но почему - то не вижу вывода в консоль. В foreach вижу, что age - это Integer, но вывода все-равно почему-то нет. Подскажите, пожалуйста, в чем моя ошибка?

public static class Person {
        List<Children> children = new ArrayList<>();

        String name;

        Person(String name) {
            this.name = name;
        }

        void addChild() {
            children.add(new Children(3));
            children.add(new Children(7));
            children.add(new Children(18));
            children.add(new Children(20));
            children.add(new Children(30));
            children.add(new Children(2));
        }
    }

public class Test {
 public static void main(String[] args) {
        Person person = new Person("Kris");
        person.addChild();

        List<Person> personList = new ArrayList<>();
        personList.add(new Person("Mark"));


        personList.stream().flatMap(person1 -> person1.children.stream().
                        filter(children -> children.age > 17)
                ).map(children -> children.age)
                .forEach(age -> System.out.println(age));
  }
}


Ответы (1 шт):

Автор решения: Igor
    Person person = new Person("Kris");
    person.addChild();

    List<Person> personList = new ArrayList<>();
    personList.add(new Person("Mark"));

    personList.add(person); // <-- !!!
→ Ссылка