@Override
    public Space get() throws BackgroundException {
        final Path home = new DefaultHomeFinderService(session).find();
        try {
            final DavQuota quota = session.getClient().getQuota(new DAVPathEncoder().encode(home));
            return new Space(
                quota.getQuotaUsedBytes() > 0 ? quota.getQuotaUsedBytes() : 0,
                quota.getQuotaAvailableBytes() >= 0 ? quota.getQuotaAvailableBytes() : Long.MAX_VALUE
            );
        }
        catch(SardineException e) {
            throw new DAVExceptionMappingService().map("Failure to read attributes of {0}", e, home);
        }
        catch(IOException e) {
            throw new DefaultIOExceptionMappingService().map(e, home);
        }
        catch(NumberFormatException e) {
            throw new DefaultExceptionMappingService().map(e);
        }
    }
@Test
    public void testGet() throws Exception {
        final Quota.Space quota = new DAVQuotaFeature(session).get();
        assertNotNull(quota);
        assertEquals(Long.MAX_VALUE, quota.available, 0L);
        assertEquals(0L, quota.used, 0L);
    }