@Override
    protected void parse(final ProtocolFactory protocols, final Local folder) throws AccessDeniedException {
        for(Local settings : folder.list().filter(new NullFilter<Local>() {
            @Override
            public boolean accept(Local file) {
                return file.isDirectory();
            }
        })) {
            for(Local child : settings.list().filter(new NullFilter<Local>() {
                @Override
                public boolean accept(Local file) {
                    if(file.isFile()) {
                        return "fireFTPsites.dat".equals(file.getName());
                    }
                    return false;
                }
            })) {
                this.read(protocols, child);
            }
        }
    }
@Test
    public void testParse() throws Exception {
        FireFtpBookmarkCollection c = new FireFtpBookmarkCollection();
        assertEquals(0, c.size());
        c.parse(new ProtocolFactory(new HashSet<>(Arrays.asList(new TestProtocol(Scheme.ftp), new TestProtocol(Scheme.ftps), new TestProtocol(Scheme.sftp)))), new Local("src/test/resources/org.mozdev.fireftp"));
        assertEquals(1, c.size());
    }