protected function getUri(ResourceDOInterface $resourceDO)
 {
     /** @var \Staticus\Resources\Image\ResourceImageDO $resourceDO */
     $uri = $resourceDO->getName() . '.' . $resourceDO->getType();
     $query = [];
     if (ResourceDOInterface::DEFAULT_VARIANT !== $resourceDO->getVariant()) {
         $query['var'] = $resourceDO->getVariant();
     }
     if (ResourceDOInterface::DEFAULT_NAME_ALTERNATIVE !== $resourceDO->getNameAlternative()) {
         $query['alt'] = $resourceDO->getNameAlternative();
     }
     if (ResourceDOInterface::DEFAULT_VERSION !== $resourceDO->getVersion()) {
         $query['v'] = $resourceDO->getVersion();
     }
     if (ResourceImageDO::DEFAULT_DIMENSION !== $resourceDO->getDimension()) {
         $query['size'] = $resourceDO->getDimension();
     }
     $query = http_build_query($query, null, '&', PHP_QUERY_RFC3986);
     // RFC for correct spaces
     if ($query) {
         $uri .= '?' . $query;
     }
     return $uri;
 }
 protected function destroyEqual(ResourceDOInterface $resourceDO, ResourceDOInterface $backupResourceVerDO)
 {
     /** @var ResourceImageDOInterface $resourceDO */
     return ResourceImageDO::DEFAULT_DIMENSION === $resourceDO->getDimension() ? parent::destroyEqual($resourceDO, $backupResourceVerDO) : $resourceDO;
 }