class MutablePermissions extends AbstractSet<Permission> implements Permissions {

    @Override
    public boolean add(final Permission permission) {
        checkNotNull(permission, "permission to be added");
        return values.add(permission);
    }

      MutablePermissions(final Set<Permission> permissions);
    public  MutablePermissions(final Collection<Permission> permissions);

}