@Override
    public Acl getPermission(final Path file) throws BackgroundException {
        try {
            if(containerService.isContainer(file)) {
                final CloudBlobContainer container = session.getClient()
                        .getContainerReference(containerService.getContainer(file).getName());
                final BlobContainerPermissions permissions = container.downloadPermissions(null, null, context);
                final Acl acl = new Acl();
                if(permissions.getPublicAccess().equals(BlobContainerPublicAccessType.BLOB)
                        || permissions.getPublicAccess().equals(BlobContainerPublicAccessType.CONTAINER)) {
                    acl.addAll(new Acl.GroupUser(Acl.GroupUser.EVERYONE, false), new Acl.Role(Acl.Role.READ));
                }
                return acl;
            }
            return Acl.EMPTY;
        }
        catch(URISyntaxException e) {
            throw new NotfoundException(e.getMessage(), e);
        }
        catch(StorageException e) {
            throw new AzureExceptionMappingService().map("Failure to read attributes of {0}", e, file);
        }
    }
@Test(expected = NotfoundException.class)
    public void testReadNotFoundContainer() throws Exception {
        final Path container = new Path(new AsciiRandomStringService().random(), EnumSet.of(Path.Type.volume, Path.Type.directory));
        final AzureAclPermissionFeature f = new AzureAclPermissionFeature(session, null);
        f.getPermission(container);
    }