@Override
  public SectionAdapter getAdapter(List<Serializable> channels) {
    if (newestEpisodes == null || newestEpisodes.getChildrenSize() == 0) {
      return new PodcastChannelAdapter(
          context, channels, hasCoverArt ? getImageLoader() : null, this, largeAlbums);
    } else {
      List<String> headers =
          Arrays.asList(PodcastChannelAdapter.EPISODE_HEADER, PodcastChannelAdapter.CHANNEL_HEADER);

      List<MusicDirectory.Entry> episodes = newestEpisodes.getChildren(false, true);
      List<Serializable> serializableEpisodes = new ArrayList<>();

      // Put 3 in current list
      while (serializableEpisodes.size() < 3 && !episodes.isEmpty()) {
        serializableEpisodes.add(episodes.remove(0));
      }

      // Put rest in extra set
      List<Serializable> extraEpisodes = new ArrayList<>();
      extraEpisodes.addAll(episodes);

      List<List<Serializable>> sections = new ArrayList<>();
      sections.add(serializableEpisodes);
      sections.add(channels);

      return new PodcastChannelAdapter(
          context,
          headers,
          sections,
          extraEpisodes,
          ServerInfo.checkServerVersion(context, "1.13") ? getImageLoader() : null,
          this,
          largeAlbums);
    }
  }
  @Override
  public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    hasCoverArt = ServerInfo.checkServerVersion(context, "1.13") || Util.isOffline(context);
    if (Util.getPreferences(context).getBoolean(Constants.PREFERENCES_KEY_LARGE_ALBUM_ART, true)
        && hasCoverArt) {
      largeAlbums = true;
    }

    if (bundle != null && serialize) {
      newestEpisodes = (MusicDirectory) bundle.getSerializable(Constants.FRAGMENT_LIST2);
    }
  }