class SFTPQuotaFeature implements Quota {

    @Override
    public Space get() throws BackgroundException {
        final Path home = new SFTPHomeDirectoryService(session).find();
        if(this.isSpaceAvailableExtensionAvailable()) {
            try {
                return this.getSpaceAvailable(session.sftp(), home);
            }
            catch(BackgroundException e) {
                log.info(String.format("Failure obtaining disk quota. %s", e));
            }
        }
        if(this.isStatVFSOpenSSHSupported()) {
            try {
                return this.getSpaceStatVFSOpenSSH(session.sftp(), home);
            }
            catch(BackgroundException e) {
                log.info(String.format("Failure obtaining disk quota. %s", e));
            }
        }
        return new Space(0L, Long.MAX_VALUE);
    }

    public  SFTPQuotaFeature(final SFTPSession session);

}