/**
  *
  * @param File|AssetContainer $file
  * @return string URL to thumbnail
  */
 protected function getThumbnailURLForFile(AssetContainer $file)
 {
     if (!$file->exists()) {
         return null;
     }
     // Attempt to generate image at given size
     $width = $this->getPreviewMaxWidth();
     $height = $this->getPreviewMaxHeight();
     if ($file->hasMethod('ThumbnailURL')) {
         return $file->ThumbnailURL($width, $height);
     }
     if ($file->hasMethod('Thumbnail')) {
         return $file->Thumbnail($width, $height)->getURL();
     }
     if ($file->hasMethod('Fit')) {
         return $file->Fit($width, $height)->getURL();
     }
     // Check if unsized icon is available
     if ($file->hasMethod('getIcon')) {
         return $file->getIcon();
     }
     return null;
 }