compositeFactory = $compositeFactory; $this->mapping = $mapping; } /** * Creates new instances of payment method models * * @param array $data * @return Composite * @throws \Magento\Framework\Exception\LocalizedException */ public function create($data) { $specifications = array_intersect_key($this->mapping, array_flip((array)$data)); return $this->compositeFactory->create(['list' => $specifications]); } }