protected function processSingleResourceDocument($source): SingleResourceDocument
    {
        $resource = $this->hydrateResource($source->data);
        $document = new SingleResourceDocument($resource);

        $this->hydrateObject($document, $source);

        return $document;
    }