/** * @param array $array * @return WeFact_Order|null */ protected static function arrayToObject($array) { /** @var WeFact_Order $order */ $order = parent::arrayToObject($array); $arrayOrderLines = $order->getOrderLines(); // remove old array order lines $order->setOrderLines(array()); foreach ($arrayOrderLines as $orderLineArray) { if ($orderLineArray instanceof WeFact_OrderLine) { $order->addOrderLine($orderLineArray); } else { /** @var $orderLineArray array */ $order->addOrderLine(WeFact_OrderLine::arrayToObject($orderLineArray)); } } return $order; }