/**
  * Helper function for Thumbnail generation: execute all thumbnailers of a given MimeType.
  *
  * @param useMimeType Which MIME Type the thumbnailers should be taken from
  * @param input Input File that should be processed
  * @param output Output file where the image shall be written.
  * @param detectedMimeType MIME Type that was returned by automatic MIME Detection
  * @return True on success (1 thumbnailer could generate the output file).
  * @throws IOException Input file cannot be read, or output file cannot be written, or necessary
  *     temporary files could not be created.
  */
 private boolean executeThumbnailers(
     String useMimeType, File input, File output, String detectedMimeType) throws IOException {
   for (Thumbnailer thumbnailer : thumbnailers.getIterable(useMimeType)) {
     try {
       thumbnailer.generateThumbnail(input, output, detectedMimeType);
       return true;
     } catch (ThumbnailerException e) {
       // This Thumbnailer apparently wasn't suitable, so try next
       mLog.warn(
           "Warning: "
               + thumbnailer.getClass().getName()
               + " could not handle the file "
               + input.getName()
               + " (trying next)",
           e);
     }
   }
   return false;
 }