src/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php
protected function resolveRecursively(array $value, Parameter $param)
    {
        foreach ($value as $name => &$v) {
            switch ($param->getType()) {
                case 'object':
                    if ($subParam = $param->getProperty($name)) {
                        $key = $subParam->getWireName();
                        $value[$key] = $this->prepareValue($v, $subParam);
                        if ($name != $key) {
                            unset($value[$name]);
                        }
                    } elseif ($param->getAdditionalProperties() instanceof Parameter) {
                        $v = $this->prepareValue($v, $param->getAdditionalProperties());
                    }
                    break;
                case 'array':
                    if ($items = $param->getItems()) {
                        $v = $this->prepareValue($v, $items);
                    }
                    break;
            }
        }

        return $param->filter($value);
    }
protected function resolveRecursively(array $value, Parameter $param)
    {
        foreach ($value as $name => &$v) {
            switch ($param->getType()) {
                case 'object':
                    if ($subParam = $param->getProperty($name)) {
                        $key = $subParam->getWireName();
                        $value[$key] = $this->prepareValue($v, $subParam);
                        if ($name != $key) {
                            unset($value[$name]);
                        }
                    } elseif ($param->getAdditionalProperties() instanceof Parameter) {
                        $v = $this->prepareValue($v, $param->getAdditionalProperties());
                    }
                    break;
                case 'array':
                    if ($items = $param->getItems()) {
                        $v = $this->prepareValue($v, $items);
                    }
                    break;
            }
        }

        return $param->filter($value);
    }
protected function resolveRecursively ( array $ value , Parameter $ param ) { foreach ( $ value as $ name => & $ v ) { switch ( $ param -> getType ( ) ) { case 'object' : if ( $ subParam = $ param -> getProperty ( $ name ) ) { $ key = $ subParam -> getWireName ( ) ; $ value [ $ key ] = $ this -> prepareValue ( $ v , $ subParam ) ; if ( $ name != $ key ) { unset ( $ value [ $ name ] ) ; } } elseif ( $ param -> getAdditionalProperties ( ) instanceof Parameter ) { $ v = $ this -> prepareValue ( $ v , $ param -> getAdditionalProperties ( ) ) ; } break ; case 'array' : if ( $ items = $ param -> getItems ( ) ) { $ v = $ this -> prepareValue ( $ v , $ items ) ; } break ; } } return $ param -> filter ( $ value ) ; }
Map nested parameters into the location_key based parameters

@param array     $value Value to map
@param Parameter $param Parameter that holds information about the current key

@return array Returns the mapped array
Map nested parameters into the location_key based parameters