protected function createGeocoder()
    {
        if ($this->apiKey === null) {
            throw new Exception('API key must be set before geocoding.');
        }

        if ($this->geocoder === null) {
            $this->geocoder = new GoogleMaps(
                new CurlHttpAdapter,
                $this->lang,
                null,
                true,
                $this->apiKey
            );
        }

        return $this->geocoder;
    }