Program: 165549
Project: 165549
Buggy source:
/** 
 * Initialize the contents of the frame.
 */
private void initialize(){
  preferences=new MoviescraperPreferences();
  currentlySelectedNfoFileList=new ArrayList<File>();
  currentlySelectedMovieFileList=new ArrayList<File>();
  currentlySelectedPosterFileList=new ArrayList<File>();
  currentlySelectedFolderJpgFileList=new ArrayList<File>();
  currentlySelectedFanartFileList=new ArrayList<File>();
  currentlySelectedTrailerFileList=new ArrayList<File>();
  currentlySelectedActorsFolderList=new ArrayList<File>();
  currentlySelectedExtraFanartFolderList=new ArrayList<File>();
  movieToWriteToDiskList=new ArrayList<Movie>();
  frmMoviescraper=new JFrame();
  frmMoviescraper.setBackground(SystemColor.window);
  frmMoviescraper.setPreferredSize(new Dimension(1024,768));
  frmMoviescraper.setTitle("String_Node_Str");
  frmMoviescraper.setBounds(100,100,1024,768);
  frmMoviescraper.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  URL programIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL saveButtonIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL data18IconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL japanIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL openIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL fileFolderIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL upIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL browseIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  Image programIcon=null;
  try {
    programIcon=ImageIO.read(programIconURL);
    if (programIcon != null)     frmMoviescraper.setIconImage(programIcon);
  }
 catch (  IOException e1) {
    e1.printStackTrace();
  }
  ImageIcon saveIcon=initializeImageIcon(saveButtonIconURL);
  ImageIcon data18Icon=initializeImageIcon(data18IconURL);
  ImageIcon japanIcon=initializeImageIcon(japanIconURL);
  ImageIcon openIcon=initializeImageIcon(openIconURL);
  ImageIcon moveToFolderIcon=initializeImageIcon(fileFolderIconURL);
  ImageIcon upIcon=initializeImageIcon(upIconURL);
  ImageIcon browseDirectoryIcon=initializeImageIcon(browseIconURL);
  fileListPanel=new JPanel();
  frmMoviescraper.getContentPane().add(fileListPanel,BorderLayout.WEST);
  defaultHomeDirectory=preferences.getLastUsedDirectory();
  currentlySelectedDirectoryList=defaultHomeDirectory;
  FileList fl=new FileList();
  listModelFiles=new DefaultListModel<File>();
  fileList=new JList<File>(listModelFiles);
  fileList.addKeyListener(new KeyListener(){
    @Override public void keyTyped(    KeyEvent e){
    }
    @Override public void keyReleased(    KeyEvent e){
      char ch=e.getKeyChar();
      if (!Character.isLetterOrDigit(ch)) {
        return;
      }
      if (m_time + CHAR_DELTA < System.currentTimeMillis()) {
        m_key="String_Node_Str";
      }
      m_time=System.currentTimeMillis();
      m_key+=Character.toLowerCase(ch);
      for (int i=0; i < fileList.getModel().getSize(); i++) {
        String str=fileList.getModel().getElementAt(i).getName().toString().toLowerCase();
        if (str.startsWith(m_key)) {
          fileList.setSelectedIndex(i);
          fileList.ensureIndexIsVisible(i);
          break;
        }
      }
    }
    @Override public void keyPressed(    KeyEvent e){
    }
  }
);
  fileList.addMouseListener(new MouseListener(){
    @Override public void mouseReleased(    MouseEvent e){
    }
    @Override public void mousePressed(    MouseEvent e){
      if (e.getClickCount() >= 2) {
        @SuppressWarnings("String_Node_Str") JList<File> theList=(JList<File>)e.getSource();
        try {
          File doubleClickedFile=theList.getSelectedValue();
          if (doubleClickedFile != null && doubleClickedFile.exists() && doubleClickedFile.isDirectory()) {
            try {
              currentlySelectedDirectoryList=doubleClickedFile;
              frmMoviescraper.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
              updateFileListModel(currentlySelectedDirectoryList);
            }
  finally {
              preferences.setLastUsedDirectory(currentlySelectedDirectoryList);
              frmMoviescraper.setCursor(Cursor.getDefaultCursor());
            }
          }
 else {
            Desktop.getDesktop().open(theList.getSelectedValue());
          }
        }
 catch (        IOException e1) {
          e1.printStackTrace();
        }
      }
    }
    @Override public void mouseExited(    MouseEvent e){
    }
    @Override public void mouseEntered(    MouseEvent e){
    }
    @Override public void mouseClicked(    MouseEvent e){
    }
  }
);
  fileList.addListSelectionListener(new SelectFileListAction());
  fileListScrollPane=fl.getGui(showFileListSorted(currentlySelectedDirectoryList),listModelFiles,true);
  fileListPanel.setLayout(new BoxLayout(fileListPanel,BoxLayout.Y_AXIS));
  fileListPanel.add(fileListScrollPane);
  fileListPanel.setBorder(BorderFactory.createLineBorder(Color.black));
  JPanel fileListPanelButtonsPanel=new JPanel();
  fileListPanelButtonsPanel.setLayout(new BoxLayout(fileListPanelButtonsPanel,BoxLayout.Y_AXIS));
  fileListPanelButtonsPanel.setAlignmentY(Component.BOTTOM_ALIGNMENT);
  fileListPanelButtonsPanel.setAlignmentX(Component.CENTER_ALIGNMENT);
  JButton btnUpDirectory=new JButton();
  btnUpDirectory.addActionListener(new UpDirectoryAction());
  btnUpDirectory.setIcon(upIcon);
  btnUpDirectory.setAlignmentX(Component.CENTER_ALIGNMENT);
  JButton btnBrowseDirectory=new JButton("String_Node_Str");
  btnBrowseDirectory.addActionListener(new BrowseDirectoryAction());
  btnBrowseDirectory.setIcon(browseDirectoryIcon);
  btnBrowseDirectory.setAlignmentX(Component.CENTER_ALIGNMENT);
  fileListPanelButtonsPanel.add(btnUpDirectory);
  fileListPanelButtonsPanel.add(btnBrowseDirectory);
  fileListPanel.add(fileListPanelButtonsPanel);
  fileDetailPanel=new FileDetailPanel(preferences);
  JScrollPane FileDetailsScrollPane=new JScrollPane(fileDetailPanel);
  frmMoviescraper.getContentPane().add(FileDetailsScrollPane,BorderLayout.CENTER);
  artWorkPanel=fileDetailPanel.getArtWorkPanel();
  JPanel southPanel=new JPanel();
  southPanel.setBorder(BorderFactory.createLineBorder(Color.black));
  southPanel.setLayout(new BoxLayout(southPanel,BoxLayout.X_AXIS));
  frmMoviescraper.getContentPane().add(southPanel,BorderLayout.SOUTH);
  JComponent parserPanel=new SpecificParserPanel(this);
  parserPanel.setPreferredSize(new Dimension(200,50));
  southPanel.add(parserPanel);
  JPanel buttonsPanel=new JPanel();
  buttonsPanel.setLayout(new BoxLayout(buttonsPanel,BoxLayout.PAGE_AXIS));
  JPanel scrapeButtons=new JPanel();
  JPanel fileOperationsButtons=new JPanel();
  southPanel.add(buttonsPanel);
  JButton btnScrapeSelectMovieJAV=new JButton("String_Node_Str");
  btnScrapeSelectMovieJAV.setAction(new ScrapeMovieAction());
  btnScrapeSelectMovieJAV.setIcon(japanIcon);
  scrapeButtons.add(btnScrapeSelectMovieJAV);
  JButton btnScrapeSelectMovieJAVAutomatic=new JButton("String_Node_Str");
  btnScrapeSelectMovieJAVAutomatic.setAction(new ScrapeMovieActionAutomatic());
  btnScrapeSelectMovieJAVAutomatic.setIcon(japanIcon);
  scrapeButtons.add(btnScrapeSelectMovieJAVAutomatic);
  JButton btnScrapeSelectMovieData18Movie=new JButton("String_Node_Str");
  btnScrapeSelectMovieData18Movie.setAction(new ScrapeMovieActionData18Movie());
  if (data18Icon != null)   btnScrapeSelectMovieData18Movie.setIcon(data18Icon);
  scrapeButtons.add(btnScrapeSelectMovieData18Movie);
  JButton btnScrapeSelectMovieData18WebContent=new JButton("String_Node_Str");
  btnScrapeSelectMovieData18WebContent.setAction(new ScrapeMovieActionData18WebContent());
  if (data18Icon != null)   btnScrapeSelectMovieData18WebContent.setIcon(data18Icon);
  scrapeButtons.add(btnScrapeSelectMovieData18WebContent);
  JButton btnWriteFileData=new JButton("String_Node_Str");
  if (saveIcon != null)   btnWriteFileData.setIcon(saveIcon);
  btnWriteFileData.addActionListener(new WriteFileDataAction());
  fileOperationsButtons.add(btnWriteFileData);
  JButton btnMoveFileToFolder=new JButton("String_Node_Str");
  btnMoveFileToFolder.setAction(moveToNewFolder);
  btnMoveFileToFolder.setIcon(moveToFolderIcon);
  fileOperationsButtons.add(btnMoveFileToFolder);
  JButton openCurrentlySelectedFileButton=new JButton("String_Node_Str");
  openCurrentlySelectedFileButton.addActionListener(new OpenFileAction());
  openCurrentlySelectedFileButton.setIcon(openIcon);
  fileOperationsButtons.add(openCurrentlySelectedFileButton);
  buttonsPanel.add(scrapeButtons);
  buttonsPanel.add(fileOperationsButtons);
  initializeMenus();
}

Fixed version (ground truth):
/** 
 * Initialize the contents of the frame.
 */
private void initialize(){
  preferences=new MoviescraperPreferences();
  currentlySelectedNfoFileList=new ArrayList<File>();
  currentlySelectedMovieFileList=new ArrayList<File>();
  currentlySelectedPosterFileList=new ArrayList<File>();
  currentlySelectedFolderJpgFileList=new ArrayList<File>();
  currentlySelectedFanartFileList=new ArrayList<File>();
  currentlySelectedTrailerFileList=new ArrayList<File>();
  currentlySelectedActorsFolderList=new ArrayList<File>();
  currentlySelectedExtraFanartFolderList=new ArrayList<File>();
  movieToWriteToDiskList=new ArrayList<Movie>();
  frmMoviescraper=new JFrame();
  frmMoviescraper.setBackground(SystemColor.window);
  frmMoviescraper.setPreferredSize(new Dimension(1024,768));
  frmMoviescraper.setTitle("String_Node_Str");
  frmMoviescraper.setBounds(100,100,1024,768);
  frmMoviescraper.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  URL programIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL saveButtonIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL data18IconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL japanIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL openIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL fileFolderIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL upIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  URL browseIconURL=frmMoviescraper.getClass().getResource("String_Node_Str");
  Image programIcon=null;
  try {
    programIcon=ImageIO.read(programIconURL);
    if (programIcon != null)     frmMoviescraper.setIconImage(programIcon);
  }
 catch (  IOException e1) {
    e1.printStackTrace();
  }
  ImageIcon saveIcon=initializeImageIcon(saveButtonIconURL);
  ImageIcon data18Icon=initializeImageIcon(data18IconURL);
  ImageIcon japanIcon=initializeImageIcon(japanIconURL);
  ImageIcon openIcon=initializeImageIcon(openIconURL);
  ImageIcon moveToFolderIcon=initializeImageIcon(fileFolderIconURL);
  ImageIcon upIcon=initializeImageIcon(upIconURL);
  ImageIcon browseDirectoryIcon=initializeImageIcon(browseIconURL);
  fileListPanel=new JPanel();
  frmMoviescraper.getContentPane().add(fileListPanel,BorderLayout.WEST);
  defaultHomeDirectory=preferences.getLastUsedDirectory();
  currentlySelectedDirectoryList=defaultHomeDirectory;
  FileList fl=new FileList();
  listModelFiles=new DefaultListModel<File>();
  fileList=new JList<File>(listModelFiles);
  fileList.addKeyListener(new KeyListener(){
    @Override public void keyTyped(    KeyEvent e){
    }
    @Override public void keyReleased(    KeyEvent e){
      char ch=e.getKeyChar();
      if (!Character.isLetterOrDigit(ch)) {
        return;
      }
      if (m_time + CHAR_DELTA < System.currentTimeMillis()) {
        m_key="String_Node_Str";
      }
      m_time=System.currentTimeMillis();
      m_key+=Character.toLowerCase(ch);
      for (int i=0; i < fileList.getModel().getSize(); i++) {
        String str=fileList.getModel().getElementAt(i).getName().toString().toLowerCase();
        if (str.startsWith(m_key)) {
          fileList.setSelectedIndex(i);
          fileList.ensureIndexIsVisible(i);
          break;
        }
      }
    }
    @Override public void keyPressed(    KeyEvent e){
    }
  }
);
  fileList.addMouseListener(new MouseListener(){
    @Override public void mouseReleased(    MouseEvent e){
    }
    @Override public void mousePressed(    MouseEvent e){
      if (e.getClickCount() >= 2) {
        @SuppressWarnings("String_Node_Str") JList<File> theList=(JList<File>)e.getSource();
        try {
          File doubleClickedFile=theList.getSelectedValue();
          if (doubleClickedFile != null && doubleClickedFile.exists() && doubleClickedFile.isDirectory()) {
            try {
              currentlySelectedDirectoryList=doubleClickedFile;
              frmMoviescraper.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
              updateFileListModel(currentlySelectedDirectoryList,false);
            }
  finally {
              preferences.setLastUsedDirectory(currentlySelectedDirectoryList);
              frmMoviescraper.setCursor(Cursor.getDefaultCursor());
            }
          }
 else {
            Desktop.getDesktop().open(theList.getSelectedValue());
          }
        }
 catch (        IOException e1) {
          e1.printStackTrace();
        }
      }
    }
    @Override public void mouseExited(    MouseEvent e){
    }
    @Override public void mouseEntered(    MouseEvent e){
    }
    @Override public void mouseClicked(    MouseEvent e){
    }
  }
);
  fileList.addListSelectionListener(new SelectFileListAction());
  fileListScrollPane=fl.getGui(showFileListSorted(currentlySelectedDirectoryList),listModelFiles,true);
  fileListPanel.setLayout(new BoxLayout(fileListPanel,BoxLayout.Y_AXIS));
  fileListPanel.add(fileListScrollPane);
  fileListPanel.setBorder(BorderFactory.createLineBorder(Color.black));
  JPanel fileListPanelButtonsPanel=new JPanel();
  fileListPanelButtonsPanel.setLayout(new BoxLayout(fileListPanelButtonsPanel,BoxLayout.Y_AXIS));
  fileListPanelButtonsPanel.setAlignmentY(Component.BOTTOM_ALIGNMENT);
  fileListPanelButtonsPanel.setAlignmentX(Component.CENTER_ALIGNMENT);
  JButton btnUpDirectory=new JButton();
  btnUpDirectory.addActionListener(new UpDirectoryAction());
  btnUpDirectory.setIcon(upIcon);
  btnUpDirectory.setAlignmentX(Component.CENTER_ALIGNMENT);
  JButton btnBrowseDirectory=new JButton("String_Node_Str");
  btnBrowseDirectory.addActionListener(new BrowseDirectoryAction());
  btnBrowseDirectory.setIcon(browseDirectoryIcon);
  btnBrowseDirectory.setAlignmentX(Component.CENTER_ALIGNMENT);
  fileListPanelButtonsPanel.add(btnUpDirectory);
  fileListPanelButtonsPanel.add(btnBrowseDirectory);
  fileListPanel.add(fileListPanelButtonsPanel);
  fileDetailPanel=new FileDetailPanel(preferences);
  JScrollPane FileDetailsScrollPane=new JScrollPane(fileDetailPanel);
  frmMoviescraper.getContentPane().add(FileDetailsScrollPane,BorderLayout.CENTER);
  artWorkPanel=fileDetailPanel.getArtWorkPanel();
  JPanel southPanel=new JPanel();
  southPanel.setBorder(BorderFactory.createLineBorder(Color.black));
  southPanel.setLayout(new BoxLayout(southPanel,BoxLayout.X_AXIS));
  frmMoviescraper.getContentPane().add(southPanel,BorderLayout.SOUTH);
  JComponent parserPanel=new SpecificParserPanel(this);
  parserPanel.setPreferredSize(new Dimension(200,50));
  southPanel.add(parserPanel);
  JPanel buttonsPanel=new JPanel();
  buttonsPanel.setLayout(new BoxLayout(buttonsPanel,BoxLayout.PAGE_AXIS));
  JPanel scrapeButtons=new JPanel();
  JPanel fileOperationsButtons=new JPanel();
  southPanel.add(buttonsPanel);
  JButton btnScrapeSelectMovieJAV=new JButton("String_Node_Str");
  btnScrapeSelectMovieJAV.setAction(new ScrapeMovieAction());
  btnScrapeSelectMovieJAV.setIcon(japanIcon);
  scrapeButtons.add(btnScrapeSelectMovieJAV);
  JButton btnScrapeSelectMovieJAVAutomatic=new JButton("String_Node_Str");
  btnScrapeSelectMovieJAVAutomatic.setAction(new ScrapeMovieActionAutomatic());
  btnScrapeSelectMovieJAVAutomatic.setIcon(japanIcon);
  scrapeButtons.add(btnScrapeSelectMovieJAVAutomatic);
  JButton btnScrapeSelectMovieData18Movie=new JButton("String_Node_Str");
  btnScrapeSelectMovieData18Movie.setAction(new ScrapeMovieActionData18Movie());
  if (data18Icon != null)   btnScrapeSelectMovieData18Movie.setIcon(data18Icon);
  scrapeButtons.add(btnScrapeSelectMovieData18Movie);
  JButton btnScrapeSelectMovieData18WebContent=new JButton("String_Node_Str");
  btnScrapeSelectMovieData18WebContent.setAction(new ScrapeMovieActionData18WebContent());
  if (data18Icon != null)   btnScrapeSelectMovieData18WebContent.setIcon(data18Icon);
  scrapeButtons.add(btnScrapeSelectMovieData18WebContent);
  JButton btnWriteFileData=new JButton("String_Node_Str");
  if (saveIcon != null)   btnWriteFileData.setIcon(saveIcon);
  btnWriteFileData.addActionListener(new WriteFileDataAction());
  fileOperationsButtons.add(btnWriteFileData);
  JButton btnMoveFileToFolder=new JButton("String_Node_Str");
  btnMoveFileToFolder.setAction(moveToNewFolder);
  btnMoveFileToFolder.setIcon(moveToFolderIcon);
  fileOperationsButtons.add(btnMoveFileToFolder);
  JButton openCurrentlySelectedFileButton=new JButton("String_Node_Str");
  openCurrentlySelectedFileButton.addActionListener(new OpenFileAction());
  openCurrentlySelectedFileButton.setIcon(openIcon);
  fileOperationsButtons.add(openCurrentlySelectedFileButton);
  buttonsPanel.add(scrapeButtons);
  buttonsPanel.add(fileOperationsButtons);
  initializeMenus();
}