public function merge(self $resource, bool $overwrite = true): void
    {
        if ($this->getLocale() !== $resource->getLocale()) {
            trigger_error('Attempting to merge resources of different locale', \E_USER_NOTICE);
        }
        
        $this->addData($resource->data, (bool) $overwrite);
    }