public void update() throws IOException, InterruptedException
	{
		//store the current episode contents
		@SuppressWarnings("unchecked")
		LinkedHashMap<String, Season> oldSeasons = (LinkedHashMap<String, Season>)seasons.clone();
		//refresh the show contents
		Show newShow = getShow(showData.get("id"), showData.get("search"));
		seasons = newShow.seasons;
		showData = newShow.showData;
		image = newShow.image;

		//iterate through the episodes and set the correct seen values
		for(Entry<String, Season> oldSeason : oldSeasons.entrySet())
		{
			Season newSeason = seasons.get(oldSeason.getKey());
			if(newSeason != null)
				for(int j=0; j<oldSeason.getValue().episodes.size(); ++j)
				{
					newSeason.episodes.get(j).setWatched(oldSeason.getValue().episodes.get(j).isWatched());
				}
		}
		
		ShowTracker.ShowArrayList.setDirty(true);
	}