Program: 81660
Project: 81660
Buggy source:
protected Void doInBackground() throws Exception {
  EgDownloaderWindow window=(EgDownloaderWindow)mainWindow;
  window.setEnabled(false);
  AddFormDialog addFormWindow=((AddFormDialog)window.addFormWindow);
  addFormWindow.setVisible(false);
  window.creatingWindow.setVisible(true);
  Setting setting=window.setting;
  InputStream is;
  try {
    task=ParseEngine.buildTask_new(task,setting,window.creatingWindow);
    if (task != null) {
      is=WebClient.getStreamUseJava(task.getCoverUrl());
      FileUtil.storeStream(task.getSaveDir(),"String_Node_Str",is);
      window.pictureDbTemplate.store(task.getPictures());
      window.taskDbTemplate.store(task);
      setting.setLastCreateTime(task.getCreateTime());
      TaskingTable taskTable=(TaskingTable)window.runningTable;
      taskTable.getTasks().add(0,task);
      addFormWindow.emptyField();
      addFormWindow.dispose();
      window.tablePane.setVisible(true);
      window.emptyTableTips.setVisible(false);
      taskTable.updateUI();
    }
 else {
      JOptionPane.showMessageDialog(null,"String_Node_Str");
    }
  }
 catch (  SocketTimeoutException e) {
    JOptionPane.showMessageDialog(null,"String_Node_Str");
  }
catch (  ConnectTimeoutException e) {
    JOptionPane.showMessageDialog(null,"String_Node_Str");
  }
catch (  SpiderException e) {
    JOptionPane.showMessageDialog(null,e.getMessage());
  }
catch (  WebClientException e) {
    JOptionPane.showMessageDialog(null,e.getMessage());
  }
 finally {
    ((CreatingWindow)(window.creatingWindow)).reset();
    window.creatingWindow.dispose();
    addFormWindow.dispose();
    window.setEnabled(true);
    window.setVisible(true);
  }
  return null;
}

Fixed version (ground truth):
protected Void doInBackground() throws Exception {
  if (((EgDownloaderWindow)mainWindow).taskDbTemplate.exsits("String_Node_Str",task.getUrl())) {
    return null;
  }
  EgDownloaderWindow window=(EgDownloaderWindow)mainWindow;
  window.setEnabled(false);
  AddFormDialog addFormWindow=((AddFormDialog)window.addFormWindow);
  addFormWindow.setVisible(false);
  window.creatingWindow.setVisible(true);
  Setting setting=window.setting;
  InputStream is;
  try {
    task=ParseEngine.buildTask_new(task,setting,window.creatingWindow);
    if (task != null) {
      is=WebClient.getStreamUseJava(task.getCoverUrl());
      FileUtil.storeStream(task.getSaveDir(),"String_Node_Str",is);
      window.pictureDbTemplate.store(task.getPictures());
      window.taskDbTemplate.store(task);
      setting.setLastCreateTime(task.getCreateTime());
      TaskingTable taskTable=(TaskingTable)window.runningTable;
      taskTable.getTasks().add(0,task);
      addFormWindow.emptyField();
      addFormWindow.dispose();
      window.tablePane.setVisible(true);
      window.emptyTableTips.setVisible(false);
      taskTable.updateUI();
      if (setting.isAutoDownload()) {
        taskTable.startTask(task);
      }
    }
 else {
      JOptionPane.showMessageDialog(null,"String_Node_Str");
    }
  }
 catch (  SocketTimeoutException e) {
    JOptionPane.showMessageDialog(null,"String_Node_Str");
  }
catch (  ConnectTimeoutException e) {
    JOptionPane.showMessageDialog(null,"String_Node_Str");
  }
catch (  SpiderException e) {
    JOptionPane.showMessageDialog(null,e.getMessage());
  }
catch (  WebClientException e) {
    JOptionPane.showMessageDialog(null,e.getMessage());
  }
 finally {
    ((CreatingWindow)(window.creatingWindow)).reset();
    window.creatingWindow.dispose();
    addFormWindow.dispose();
    window.setEnabled(true);
    window.setVisible(true);
  }
  return null;
}