@Override
    public Space get() throws BackgroundException {
        long used = 0L;
        for(Region region : session.getClient().getRegions()) {
            try {
                final long bytes = session.getClient().getAccountInfo(region).getBytesUsed();
                if(log.isInfoEnabled()) {
                    log.info(String.format("Add %d used in region %s", bytes, region));
                }
                used += bytes;
            }
            catch(GenericException e) {
                if(e.getHttpStatusCode() == HttpStatus.SC_SERVICE_UNAVAILABLE) {
                    log.warn(String.format("Ignore failure %s for region %s", e, region));
                    continue;
                }
                throw new SwiftExceptionMappingService().map("Failure to read attributes of {0}", e,
                    new Path(String.valueOf(Path.DELIMITER), EnumSet.of(Path.Type.volume, Path.Type.directory)));
            }
            catch(IOException e) {
                throw new DefaultIOExceptionMappingService().map("Failure to read attributes of {0}", e,
                    new Path(String.valueOf(Path.DELIMITER), EnumSet.of(Path.Type.volume, Path.Type.directory)));
            }
        }
        return new Space(used, Long.MAX_VALUE);
    }
@Test
    public void testGet() throws Exception {
        final Quota.Space quota = new SwiftQuotaFeature(session).get();
        assertNotNull(quota.available);
        assertNotNull(quota.used);
        assertNotEquals(0L, quota.available, 0L);
        assertNotEquals(0L, quota.used, 0L);
    }