public function refresh(array $options = [])
    {
        if (!$this->id) {
            throw new InvalidArgumentException('Kuzzle\Document::refresh: cannot retrieve a document without a document ID');
        }

        $data = [
            '_id' => $this->id
        ];

        $response = $this->collection->getKuzzle()->query(
            $this->collection->buildQueryArgs('document', 'get'),
            $this->collection->getKuzzle()->addHeaders($data, $this->headers),
            $options
        );

        $documentContent = $response['result']['_source'];
        $documentContent['_version'] = $response['result']['_version'];
        $documentMeta = $response['result']['_meta'];

        return new Document($this->collection, $response['result']['_id'], $documentContent, $documentMeta);
    }