Program: 165536
Project: 165536
Buggy source:
protected void readMovieFromNfoFile(File nfoFile){
  FileInputStream fisTargetFile=null;
  try {
    fisTargetFile=new FileInputStream(nfoFile);
    String targetFileStr=IOUtils.toString(fisTargetFile,"String_Node_Str");
    if (targetFileStr.contains("String_Node_Str")) {
      while (targetFileStr.length() > 0 && !targetFileStr.startsWith("String_Node_Str")) {
        if (targetFileStr.length() > 1) {
          targetFileStr=targetFileStr.substring(1,targetFileStr.length());
        }
 else         break;
      }
    }
    XbmcXmlMovieBean xmlMovieBean=XbmcXmlMovieBean.makeFromXML(targetFileStr);
    if (xmlMovieBean != null) {
      Movie movieFromNfo=xmlMovieBean.toMovie();
      movieToWriteToDiskList.add(movieFromNfo);
      if (currentlySelectedPosterFileList.get(0).exists()) {
        Thumb[] currentPosters=movieToWriteToDiskList.get(0).getPosters();
        Thumb fileFromDisk;
        if (currentPosters.length > 0 && currentPosters[0] != null && currentPosters[0].getThumbURL() != null)         fileFromDisk=new Thumb(currentlySelectedPosterFileList.get(0),currentPosters[0].getThumbURL().toString());
 else {
          fileFromDisk=new Thumb(currentlySelectedPosterFileList.get(0));
          currentPosters=new Thumb[1];
        }
        currentPosters[0]=fileFromDisk;
      }
 else       if (movieToWriteToDiskList.get(0).hasPoster()) {
      }
    }
  }
 catch (  FileNotFoundException e) {
    JOptionPane.showMessageDialog(null,ExceptionUtils.getStackTrace(e),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
    e.printStackTrace();
  }
catch (  IOException e) {
    e.printStackTrace();
    JOptionPane.showMessageDialog(null,ExceptionUtils.getStackTrace(e),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
  }
 finally {
    try {
      fisTargetFile.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
 finally {
      updateAllFieldsOfSite1Movie(false);
    }
  }
}

Fixed version (ground truth):
protected void readMovieFromNfoFile(File nfoFile){
  FileInputStream fisTargetFile=null;
  try {
    fisTargetFile=new FileInputStream(nfoFile);
    String targetFileStr=IOUtils.toString(fisTargetFile,"String_Node_Str");
    if (targetFileStr.contains("String_Node_Str")) {
      while (targetFileStr.length() > 0 && !targetFileStr.startsWith("String_Node_Str")) {
        if (targetFileStr.length() > 1) {
          targetFileStr=targetFileStr.substring(1,targetFileStr.length());
        }
 else         break;
      }
    }
    XbmcXmlMovieBean xmlMovieBean=XbmcXmlMovieBean.makeFromXML(targetFileStr);
    if (xmlMovieBean != null) {
      Movie movieFromNfo=xmlMovieBean.toMovie();
      movieToWriteToDiskList.add(movieFromNfo);
      if (currentlySelectedPosterFileList.get(0).exists()) {
        Thumb[] currentPosters=movieToWriteToDiskList.get(0).getPosters();
        Thumb fileFromDisk;
        if (currentPosters.length > 0 && currentPosters[0] != null && currentPosters[0].getThumbURL() != null)         fileFromDisk=new Thumb(currentlySelectedPosterFileList.get(0),currentPosters[0].getThumbURL().toString());
 else {
          fileFromDisk=new Thumb(currentlySelectedPosterFileList.get(0));
          currentPosters=new Thumb[1];
        }
        currentPosters[0]=fileFromDisk;
      }
 else       if (movieToWriteToDiskList.get(0).hasPoster()) {
      }
    }
  }
 catch (  FileNotFoundException e) {
    JOptionPane.showMessageDialog(null,ExceptionUtils.getStackTrace(e),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
    e.printStackTrace();
  }
catch (  IOException e) {
    e.printStackTrace();
    JOptionPane.showMessageDialog(null,ExceptionUtils.getStackTrace(e),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
  }
 finally {
    try {
      fisTargetFile.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
 finally {
      updateAllFieldsOfFileDetailPanel(false);
    }
  }
}