p = new RuntimePermission("B");
if (policy1.implies(pd, p) || policy2.implies(pd, p)) {
throw new Error();
}
policy1.grant(cl, null, new Permission[]{ p });
if (!(policy1.implies(pd, p) && policy2.implies(pd, p))) {
throw new Error();
}
p = new RuntimePermission("C");
policy2.grant(cl, null, new Permission[]{ p });