Задачку решил, но никак не могу разобраться с этой конструкцией
((Person.User)person).live();
Зачем добавлять person?