objectManager = $objectManager; $this->type = $type; } /** * Create new instance of Package Bundle object * * Since returned type can be configured via DI configuration, the method does check type of created object * and throws exception if that object is not instance of \Magento\Deploy\Package\BundleInterface * * @param array $arguments * @return BundleInterface * @throws LocalizedException */ public function create(array $arguments) { $package = $this->objectManager->create($this->type, $arguments); if (!$package instanceof BundleInterface) { throw new LocalizedException( new Phrase("Wrong type specified: '%1'", [$this->type]) ); } return $package; } }