factory = $factory; $this->versionDeterminer = $versionDeterminer; $this->configBuilder = $configBuilder; } /** * Retrieve a mapper instance given a MapperInterface * * @param string $mapperInterface Mapper Interface to create * @param string|null $scopeCode Scope ID to use for configuration * @param string $scopeType Scope Type * @return mixed * @throws \Vertex\Exception\ConfigurationException */ public function getForClass($mapperInterface, $scopeCode = null, $scopeType = ScopeInterface::SCOPE_STORE) { $config = $this->configBuilder ->setScopeCode($scopeCode) ->setScopeType($scopeType) ->build(); $version = $this->versionDeterminer->execute($config->getTaxAreaLookupWsdl()); return $this->factory->getForClass($mapperInterface, $version); } }