}
public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
QName qn = a.getName();
if (MetadataConstants.ADDRESSING_ASSERTION_QNAME.equals(qn)) {
NestedPrimitiveAssertionBuilder npab = new NestedPrimitiveAssertionBuilder();
npab.setKnownElements(Collections.singleton(MetadataConstants.ADDRESSING_ASSERTION_QNAME));
npab.setAssertionBuilderRegistry(bus.getExtension(AssertionBuilderRegistry.class));
return npab.buildCompatible(a, b);
} else if (MetadataConstants.ANON_RESPONSES_ASSERTION_QNAME.equals(qn)
|| MetadataConstants.NON_ANON_RESPONSES_ASSERTION_QNAME.equals(qn)) {
PrimitiveAssertionBuilder pab = new PrimitiveAssertionBuilder();
pab.setKnownElements(Collections.singleton(qn));