public function visitOrderItem(ShopgateOrderItem $i) { // get properties $properties = $i->buildProperties(); // iterate the simple variables $properties = $this->iterateSimpleProperties($properties); // iterate options/attributes/input fields objects $properties['options'] = $this->iterateObjectList($properties['options']); $properties['inputs'] = $this->iterateObjectList($properties['inputs']); $properties['attributes'] = $this->iterateObjectList($properties['attributes']); // set last value to converted array $this->array = $properties; }