private void scan(File directory)
    {
        ImageProducer ip = new ImageProducer();
        Parser parser = new Parser();
        File[] files = directory.listFiles(new FileFilter() {
            public boolean accept(File file) {
                return
                    file.getName().endsWith("nfo") ||
                            (file.isDirectory() && !file.getName().equals(".") && !file.getName().equals(".."));
            }
        });

        for (File file : files)
        {
            if (file.isDirectory())
            {
                scan(file);
            }
            else
            {
                String id = parser.parseIMDBIdentifier(file);
                if (id!=null)
                {
                    try
                    {
                        System.out.println("["+id+"] FOUND   "+file.getAbsolutePath());
                        ip.run(id, file.getParentFile());
                    }
                    catch (Exception ex)
                    {
                        ex.printStackTrace();
                    }
                }
                else
                {
                    System.out.println("[-------]         (" + file.getAbsolutePath() + ")");
                }
            }
        }
    }