public List<FTPFile> parse(List<String> serverLines, String parentPath)
    {
        List<FTPFile> files = new ArrayList<FTPFile>(serverLines.size());
        for (String line : serverLines) {
        	FTPFile file = null;
        	try
        	{
                log.debug("Trying to parse line: " + line);
        		file = parser.parse(line, parentPath);
        	}catch (ParseException pe)
        	{
        		// Expected parser couldn't parse trying other parsers
        		try
        		{
        			log.warn("Previous file parser couldn't parse listing. Trying a UNIX file parser");
        			parser = new UnixFileParser(locale);
        			file = parser.parse(line, parentPath);
        		}catch (ParseException pe2)
        		{
        			try
        			{
        				log.warn("Previous file parser couldn't parse listing. Trying a EPLF file parser");
        				parser = new EPLFFileParser();
        				file = parser.parse(line, parentPath);
        			}catch (ParseException pe5)
        			{
        			try
            		{
        				log.warn("Previous file parser couldn't parse listing. Trying a netware file parser");
            			parser = new NetwareFileParser(locale);
            			file = parser.parse(line, parentPath);
            		}catch (ParseException pe3)
            		{
            			log.warn("Last chance!!! calling LastChanceFileParser");
            			parser = new LastChanceFileParser(locale);
            			try
            			{
            				file = parser.parse(line, parentPath);
            			}catch (ParseException pe4)
            			{
            				log.fatal("Couldn't parse the LIST reply");
            			}
            		}
        		}
        		}
        	}
            if (file != null)
                files.add(file);
        }
        return files;
    }