if (cert != null) {
valid = signature.checkSignatureValue(cert);
} else {
PublicKey pk = keyInfo.getPublicKey();
if (pk != null) {
valid = signature.checkSignatureValue(pk);
}
}
// is this call redundant given that signature.checkSignatureValue uses References ?
ref = getReference(signature);
Element signedElement = validateReference(root, ref);