/** {@inheritDoc} */
  protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
      throws UnmarshallingException {
    CipherReference cr = (CipherReference) parentXMLObject;

    if (childXMLObject instanceof Transforms) {
      cr.setTransforms((Transforms) childXMLObject);
    } else {
      super.processChildElement(parentXMLObject, childXMLObject);
    }
  }
  /** {@inheritDoc} */
  protected void processAttribute(XMLObject xmlObject, Attr attribute)
      throws UnmarshallingException {
    CipherReference cr = (CipherReference) xmlObject;

    if (attribute.getLocalName().equals(CipherReference.URI_ATTRIB_NAME)) {
      cr.setURI(attribute.getValue());
    } else {
      super.processAttribute(xmlObject, attribute);
    }
  }