private void registerAll(final Path start) throws IOException {
        // register directory and sub-directories
        Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)
                throws IOException
            {
            	if(dir.getFileName().toString().startsWith("."))
            		return FileVisitResult.SKIP_SUBTREE;
            	
                register(dir); 
                return FileVisitResult.CONTINUE;
            }
        });
    }