class FileSystemRepository implements ContentRepository {

    @Override
    public InputStream read(final ContentClaim claim) throws IOException {
        if (claim == null) {
            return new ByteArrayInputStream(new byte[0]);
        }
        final Path path = getPath(claim, true);
        final FileInputStream fis = new FileInputStream(path.toFile());
        if (claim.getOffset() > 0L) {
            try {
                StreamUtils.skip(fis, claim.getOffset());
            } catch (IOException ioe) {
                IOUtils.closeQuietly(fis);
                throw ioe;
            }

        }

        // see javadocs for claim.getLength() as to why we do this.
        if (claim.getLength() >= 0) {
            return new LimitedInputStream(fis, claim.getLength());
        } else {
            return fis;
        }
    }

    public  FileSystemRepository();
    public  FileSystemRepository(final NiFiProperties nifiProperties);

}