public void actionPerformed(ActionEvent e)
			{
				new Thread()
				{
					public void run()
					{
						try
						{
							rl.lock();
							Main.enableButtons(false);
							jt.clearSelection();
							btnDownload.setText("Downloading Selected");
							btnDownload.setEnabled(false);
							btnSelect.setEnabled(false);
							for(int num=jt.getRowCount()-1; num>=0;--num)
							{
								final Integer i = num;
								new Thread()
								{
									public void run()
									{
										if((Boolean)jt.getValueAt(i, jt.getColumn("Download").getModelIndex()))
										{
											if(episodes.get(i).download())
											{
												episodes.get(i).setWatched(true);
												episodes.remove(i);
												((DefaultTableModel)jt.getModel()).removeRow(i);
											}
											else
												if(!((String)jt.getValueAt(i, jt.getColumn("Date Aired").getModelIndex())).contains(" - unavailable"))
													jt.setValueAt(jt.getValueAt(i, jt.getColumn("Date Aired").getModelIndex())+" - unavailable", i, jt.getColumn("Date Aired").getModelIndex());
										}
									}
								}.start();
							}
							btnDownload.setText("Download Selected");
							btnDownload.setEnabled(true);
							btnSelect.setEnabled(true);
							Main.enableButtons(true);
						}
						finally
						{
							rl.unlock();
						}
					}
				}.start();
			}