public function __construct($productVariation = null, $quantity = 1) { // Case 1 : Constructed by the static function get of DataObject if (is_array($productVariation)) { $this->ProductVariationID = $this->_productVariationID = $productVariation['ProductVariationID']; $this->ProductVariationVersion = $this->_productVariationVersion = $productVariation['ProductVariationVersion']; parent::__construct($productVariation, $quantity); } else { if (is_object($productVariation)) { parent::__construct($productVariation->Product(), $quantity); $this->_productVariationID = $productVariation->ID; $this->_productVariationVersion = $productVariation->Version; } else { parent::__construct(); } } }