return fitness;
}
AssertionSet as = policy.getAssertionSet();
Iterator<PolicyAssertion> ast = as.iterator();
while(ast.hasNext()){
PolicyAssertion assertion = ast.next();
if(PolicyUtil.isInitiatorToken(assertion, spVersion)){
this.initiatorToken = ((com.sun.xml.ws.security.impl.policy.Token)assertion).getToken();
}else if(PolicyUtil.isRecipientToken(assertion, spVersion)){
this.recipientToken = ((com.sun.xml.ws.security.impl.policy.Token)assertion).getToken();
}else if(PolicyUtil.isRecipientSignatureToken(assertion, spVersion)){
this.recipientSignatureToken = ((com.sun.xml.ws.security.impl.policy.Token)assertion).getToken();
}else if(PolicyUtil.isRecipientEncryptionToken(assertion, spVersion)){
this.recipientEncryptionToken = ((com.sun.xml.ws.security.impl.policy.Token)assertion).getToken();
}else if(PolicyUtil.isInitiatorSignatureToken(assertion, spVersion)){
this.initiatorSignatureToken = ((com.sun.xml.ws.security.impl.policy.Token)assertion).getToken();
}else if(PolicyUtil.isInitiatorEncryptionToken(assertion, spVersion)){
this.initiatorEncryptionToken = ((com.sun.xml.ws.security.impl.policy.Token)assertion).getToken();
}else if(PolicyUtil.isAlgorithmAssertion(assertion, spVersion)){
this.algSuite = (AlgorithmSuite) assertion;
String sigAlgo = assertion.getAttributeValue(new QName("signatureAlgorithm"));
this.algSuite.setSignatureAlgorithm(sigAlgo);
}else if(PolicyUtil.isIncludeTimestamp(assertion, spVersion)){
this.includeTimestamp = true;
}else if(PolicyUtil.isEncryptBeforeSign(assertion, spVersion)){
this.protectionOrder = ENCRYPT_SIGN;
}else if (PolicyUtil.isSignBeforeEncrypt(assertion, spVersion)){
this.protectionOrder = SIGN_ENCRYPT;
}else if(PolicyUtil.isContentOnlyAssertion(assertion, spVersion)){
this.contentOnly = false;
}else if(PolicyUtil.isMessageLayout(assertion, spVersion)){
layout = ((Layout)assertion).getMessageLayout();
}else if(PolicyUtil.isProtectTokens(assertion, spVersion)){
this.protectToken = true;
}else if(PolicyUtil.isEncryptSignature(assertion, spVersion)){
this.protectSignature = true;
} else if(PolicyUtil.disableTimestampSigning(assertion)){
this.disableTimestampSigning = true;
}else{
if(!assertion.isOptional()){
log_invalid_assertion(assertion, isServer,AsymmetricBinding);
fitness = AssertionFitness.HAS_UNKNOWN_ASSERTION;
}
}
}