public Node getNextSiblingOfIssuer(Document doc) {
    // Find the sibling of Issuer
    NodeList nl =
        doc.getElementsByTagNameNS(
            JBossSAMLURIConstants.ASSERTION_NSURI.get(), JBossSAMLConstants.ISSUER.get());
    if (nl.getLength() > 0) {
      Node issuer = nl.item(0);

      return issuer.getNextSibling();
    }
    return null;
  }
  protected void parseCommonElements(
      StartElement startElement, XMLEventReader xmlEventReader, RequestAbstractType request)
      throws ParsingException {
    if (startElement == null) throw new IllegalArgumentException(ErrorCodes.NULL_START_ELEMENT);
    String elementName = StaxParserUtil.getStartElementName(startElement);

    if (JBossSAMLConstants.ISSUER.get().equals(elementName)) {
      startElement = StaxParserUtil.getNextStartElement(xmlEventReader);
      NameIDType issuer = new NameIDType();
      issuer.setValue(StaxParserUtil.getElementText(xmlEventReader));
      request.setIssuer(issuer);
    } else if (JBossSAMLConstants.SIGNATURE.get().equals(elementName)) {
      request.setSignature(StaxParserUtil.getDOMElement(xmlEventReader));
    }
  }