} final PropertyPermission old = (PropertyPermission) permissions.get(name); if (old != null) { if ((pp.actions | old.actions) == old.actions) {  pp = old; } else if ((pp.actions | old.actions) != pp.actions) {
PropertyPermission old = (PropertyPermission) permissions.get(name); if (old != null) { if ((pp.actions | old.actions) == old.actions) pp = old; else if ((pp.actions | old.actions) != pp.actions)
    public void add(Permission permission) {        if (isReadOnly()) { throw new SecurityException("readonly"); }        if (!(permission instanceof PropertyPermission)) { throw new IllegalArgumentException(); }        PropertyPermission pp = (PropertyPermission) permission;        final String name = pp.getName();        if (name.equals("*")) {            all_allowed = true;        }        final PropertyPermission old = (PropertyPermission) permissions.get(name);        if (old != null) {            if ((pp.actions | old.actions) == old.actions) {                // Old implies pp.                pp = old;            } else if ((pp.actions | old.actions) != pp.actions) {                // Here pp doesn't imply old; the only case left is both                // actions.                pp = new PropertyPermission(name, "read,write");            }        }        permissions.put(name, pp);    }