protected final void updateAudioArts() {
   for (Audio audio : audioDatabase.getSongs()) {
     if (audio.getArtUrl(ArtSize.SMALL) == null) {
       try {
         String smallArt = internetSearchEngine.getSmallArt(audio);
         audioDatabase.downloadAndSaveAudioArt(audio, smallArt, ArtSize.SMALL);
       } catch (IOException e) {
         e.printStackTrace();
       }
     }
   }
 }
  protected final void updateAlbumArts() {
    List<Album> albums = audioDatabase.getAlbums();

    updateArts(
        albums,
        ArtSize.MEDIUM,
        new Updater<Album>() {
          @Override
          public ArtCollection getArts(Album item) throws IOException {
            return internetSearchEngine.getArts(item);
          }

          @Override
          public void save(String artUrl, ArtSize artSize, Album item) throws IOException {
            audioDatabase.downloadAndSaveAlbumArt(item, artUrl, artSize);
          }
        });
  }