Program: 165522
Project: 165522
Buggy source:
@Override protected void done(){
  if (manuallyPickPoster && data18Movie != null && data18Movie.getPosters() != null && data18Movie.getPosters().length > 1) {
    HashSet<Thumb> uniqueElements=new HashSet<Thumb>(Arrays.asList(data18Movie.getPosters()));
    uniqueElements.addAll(Arrays.asList(data18Movie.getExtraFanart()));
    ArrayList<Thumb> uniqueElementsList=(new ArrayList<Thumb>(uniqueElements));
    Thumb[] uniqueElementsArray=uniqueElementsList.toArray(new Thumb[uniqueElementsList.size()]);
    Thumb posterPicked=showArtPicker(uniqueElementsArray,"String_Node_Str");
    if (posterPicked != null) {
      ArrayList<Thumb> existingPosters=new ArrayList<Thumb>(Arrays.asList(ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().getPosters()));
      existingPosters.remove(posterPicked);
      existingPosters.add(0,posterPicked);
      Thumb[] posterArray=new Thumb[existingPosters.size()];
      ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().setPosters(existingPosters.toArray(posterArray));
    }
  }
  if (manuallyPickFanart && data18Movie != null && data18Movie.getFanart() != null && data18Movie.getFanart().length > 1) {
    HashSet<Thumb> uniqueElements=new HashSet<Thumb>(Arrays.asList(data18Movie.getFanart()));
    uniqueElements.addAll(Arrays.asList(data18Movie.getExtraFanart()));
    ArrayList<Thumb> uniqueElementsList=(new ArrayList<Thumb>(uniqueElements));
    Thumb[] uniqueElementsArray=uniqueElementsList.toArray(new Thumb[uniqueElementsList.size()]);
    Thumb fanartPicked=showArtPicker(uniqueElementsArray,"String_Node_Str");
    if (fanartPicked != null) {
      ArrayList<Thumb> existingFanart=new ArrayList<Thumb>(Arrays.asList(ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().getFanart()));
      existingFanart.remove(fanartPicked);
      existingFanart.add(0,fanartPicked);
      Thumb[] fanartArray=new Thumb[existingFanart.size()];
      ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().setFanart(existingFanart.toArray(fanartArray));
    }
  }
 else   if (manuallyPickFanart && javMovie != null) {
    Thumb fanartPicked=showArtPicker(ArrayUtils.addAll(javMovie.getFanart(),javMovie.getExtraFanart()),"String_Node_Str");
    if (fanartPicked != null)     javMovie.setFanart(ArrayUtils.toArray(fanartPicked));
  }
  if (!scrapeCanceled && (ScrapeMovieAction.this.guiMain.movieToWriteToDiskList == null || ScrapeMovieAction.this.guiMain.movieToWriteToDiskList.size() == 0)) {
    System.out.println("String_Node_Str");
    JOptionPane.showMessageDialog(ScrapeMovieAction.this.guiMain.getFrmMoviescraper(),"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE,null);
  }
  clearOverrides();
  ScrapeMovieAction.this.guiMain.updateAllFieldsOfFileDetailPanel(true);
  ScrapeMovieAction.this.guiMain.getFrmMoviescraper().setCursor(Cursor.getDefaultCursor());
  ScrapeMovieAction.this.guiMain.setMainGUIEnabled(true);
}

Fixed version (ground truth):
@Override protected void done(){
  guiMain.getProgressMonitor().stop();
  if (manuallyPickPoster && data18Movie != null && data18Movie.getPosters() != null && data18Movie.getPosters().length > 1) {
    HashSet<Thumb> uniqueElements=new HashSet<Thumb>(Arrays.asList(data18Movie.getPosters()));
    uniqueElements.addAll(Arrays.asList(data18Movie.getExtraFanart()));
    ArrayList<Thumb> uniqueElementsList=(new ArrayList<Thumb>(uniqueElements));
    Thumb[] uniqueElementsArray=uniqueElementsList.toArray(new Thumb[uniqueElementsList.size()]);
    Thumb posterPicked=showArtPicker(uniqueElementsArray,"String_Node_Str");
    if (posterPicked != null) {
      ArrayList<Thumb> existingPosters=new ArrayList<Thumb>(Arrays.asList(ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().getPosters()));
      existingPosters.remove(posterPicked);
      existingPosters.add(0,posterPicked);
      Thumb[] posterArray=new Thumb[existingPosters.size()];
      ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().setPosters(existingPosters.toArray(posterArray));
    }
  }
  if (manuallyPickFanart && data18Movie != null && data18Movie.getFanart() != null && data18Movie.getFanart().length > 1) {
    HashSet<Thumb> uniqueElements=new HashSet<Thumb>(Arrays.asList(data18Movie.getFanart()));
    uniqueElements.addAll(Arrays.asList(data18Movie.getExtraFanart()));
    ArrayList<Thumb> uniqueElementsList=(new ArrayList<Thumb>(uniqueElements));
    Thumb[] uniqueElementsArray=uniqueElementsList.toArray(new Thumb[uniqueElementsList.size()]);
    Thumb fanartPicked=showArtPicker(uniqueElementsArray,"String_Node_Str");
    if (fanartPicked != null) {
      ArrayList<Thumb> existingFanart=new ArrayList<Thumb>(Arrays.asList(ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().getFanart()));
      existingFanart.remove(fanartPicked);
      existingFanart.add(0,fanartPicked);
      Thumb[] fanartArray=new Thumb[existingFanart.size()];
      ScrapeMovieAction.this.guiMain.getCurrentlySelectedMovieData18Movie().setFanart(existingFanart.toArray(fanartArray));
    }
  }
 else   if (manuallyPickFanart && javMovie != null) {
    Thumb fanartPicked=showArtPicker(ArrayUtils.addAll(javMovie.getFanart(),javMovie.getExtraFanart()),"String_Node_Str");
    if (fanartPicked != null)     javMovie.setFanart(ArrayUtils.toArray(fanartPicked));
  }
  if (!scrapeCanceled && (ScrapeMovieAction.this.guiMain.movieToWriteToDiskList == null || ScrapeMovieAction.this.guiMain.movieToWriteToDiskList.size() == 0)) {
    System.out.println("String_Node_Str");
    JOptionPane.showMessageDialog(ScrapeMovieAction.this.guiMain.getFrmMoviescraper(),"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE,null);
  }
  clearOverrides();
  ScrapeMovieAction.this.guiMain.updateAllFieldsOfFileDetailPanel(true);
  ScrapeMovieAction.this.guiMain.getFrmMoviescraper().setCursor(Cursor.getDefaultCursor());
  ScrapeMovieAction.this.guiMain.setMainGUIEnabled(true);
}