public function duplicate(ItemTypeInterface $original) { /** @var Gallery $data */ /** @var Gallery $original */ $data = new $this->dataClass(); $data->setTitle($original->getTitle()); $data->setText($original->getText()); foreach ($original->getFiles() as $file) { $newFile = $this->getFileFactory()->duplicate($file); $data->addFile($newFile); } return $data; }