protected function _createProduct($config, $data)
    {
        $className          = static::PRODUCT_CLASS_NAME;
        $referenceContainer = $this->_getReferenceContainer($config);

        return new $className($data, $referenceContainer);
    }
protected function _createProduct($config, $data)
    {
        $className          = static::PRODUCT_CLASS_NAME;
        $referenceContainer = $this->_getReferenceContainer($config);

        return new $className($data, $referenceContainer);
    }
protected function _createProduct ( $ config , $ data ) { $ className = static :: PRODUCT_CLASS_NAME ; $ referenceContainer = $ this -> _getReferenceContainer ( $ config ) ; return new $ className ( $ data , $ referenceContainer ) ; }
Creates a new factory product.

@since [*next-version*]

@param array|ArrayAccess|BaseContainerInterface|stdClass|null $config The data for the new product instance.
@param array|stdClass|ArrayObject                             $data   The data for the new product instance.

@throws InvalidArgumentException If the data or the config is invalid.
@throws RuntimeException         If the product could not be created.

@return mixed The new factory product.
Creates a new factory product .