private <T> T readFile(Path filePath) throws IOException, FileNotFoundException {
        if (!Files.exists(filePath)) {
            return null;
        }
        try (InputStream fileStream = new FileInputStream(filePath.toFile())) {
            if(compressData) {
                try(InputStream gzipStream = new InflaterInputStream(fileStream)) {
                    return unserializeData(gzipStream);
                }
            } else {
                return unserializeData(fileStream);
            }
        }
    }
A target repository that stores pages in the file system. Files are organized per domain,
one folder for each domain. Supports serialization of data different formats:
- Plain HTML (may lose some data, about headers)
- JSON
- CBOR

@author aeciosantos
ache/src/main/java/achecrawler/target/repository/FileSystemTargetRepository.java