public function fetch($options = array()) {
        $options = new Values($options);

        $params = Values::of(array(
            'CountryCode' => $options['countryCode'],
            'Type' => Serialize::map($options['type'], function($e) { return $e; }),
            'AddOns' => Serialize::map($options['addOns'], function($e) { return $e; }),
        ));

        $params = array_merge($params, Serialize::prefixedCollapsibleMap($options['addOnsData'], 'AddOns'));
        $payload = $this->version->fetch(
            'GET',
            $this->uri,
            $params
        );

        return new PhoneNumberInstance($this->version, $payload, $this->solution['phoneNumber']);
    }