private function visitGroup(PHPClass $class, Schema $schema, Group $group) { foreach ($group->getElements() as $childGroup) { if ($childGroup instanceof Group) { $this->visitGroup($class, $schema, $childGroup); } else { $property = $this->visitElement($class, $schema, $childGroup); $class->addProperty($property); } } }