function enumerateProject(Project $project) { print "{$project->getTitle()}({$project->getSummary()}): \n"; foreach ($project->getToDos() as $eachToDo) { if ($eachToDo instanceof Project) { print "sub:"; enumerateProject($eachToDo); } else { print "{$eachToDo->getTitle()}\n"; } } }