public function visitCustomer(ShopgateCustomer $c) { // get properties $properties = $c->buildProperties(); // iterate the simple variables $properties = $this->iterateSimpleProperties($properties); // iterate ShopgateAddress objects $properties['custom_fields'] = $this->iterateObjectList($properties['custom_fields']); $properties['addresses'] = $this->iterateObjectList($properties['addresses']); $properties['customer_groups'] = $this->iterateObjectList($properties['customer_groups']); // set last value to converted array $this->array = $properties; }