public function __construct()
 {
     parent::__construct(Book::with(), ['name' => function ($iteration) {
         $this->name = $iteration->next();
     }, 'author' => function ($iteration) {
         $this->author = $iteration->next(new CreationOf(Author::with(), ['name' => function ($iteration) {
             $this->name = $iteration->next() ?: 'Test';
         }]));
     }]);
 }
 /** @return var[][] */
 protected function bookTypes()
 {
     return [['util.address.unittest.Book'], [XPClass::forName('util.address.unittest.Book')], [Book::with()]];
 }