}
public Key getKey() throws XWSSecurityException {
String dataEncAlgo = null;
if (originalKey == null) {
SecurityTokenProcessor stp = new SecurityTokenProcessor(pc, null);
try {
XMLStreamReader breader = buffer.readAsXMLStreamReader();
if (breader.getEventType() != breader.START_ELEMENT) {
StreamUtil.moveToNextStartOREndElement(breader);
}
pc.getSecurityContext().setInferredKB(null);
originalKey = stp.resolveReference(breader);
inferredKB = (WSSPolicy) pc.getSecurityContext().getInferredKB();
pc.getSecurityContext().setInferredKB(null);
} catch (XMLStreamException ex) {
logger.log(Level.SEVERE,LogStringsMessages.WSS_1855_XML_STREAM_READER_ERROR(), ex);
}