throws IllegalArgumentException {
SPConstants consts = SP11Constants.SP_NS.equals(element.getNamespaceURI())
? SP11Constants.INSTANCE : SP12Constants.INSTANCE;
InitiatorSignatureToken initiatorToken = new InitiatorSignatureToken(consts, builder);
initiatorToken.setOptional(PolicyConstants.isOptional(element));
initiatorToken.setIgnorable(PolicyConstants.isIgnorable(element));
Policy policy = builder.getPolicy(DOMUtils.getFirstElement(element));
policy = (Policy)policy.normalize(builder.getPolicyRegistry(), false);
for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {