/** {@inheritDoc} */
 @Override
 protected void processAttribute(XMLObject xmlObject, Attr attribute)
     throws UnmarshallingException {
   if (attribute.getLocalName().equals(ActionMatchType.MATCH_ID_ATTRIB_NAME)) {
     ActionMatchType matchType = (ActionMatchType) xmlObject;
     matchType.setMatchId(StringSupport.trimOrNull(attribute.getValue()));
   } else {
     super.processAttribute(xmlObject, attribute);
   }
 }
  /** {@inheritDoc} */
  @Override
  protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
      throws UnmarshallingException {
    ActionMatchType matchType = (ActionMatchType) parentXMLObject;

    if (childXMLObject instanceof AttributeValueType) {
      matchType.setAttributeValue((AttributeValueType) childXMLObject);
    } else if (childXMLObject instanceof AttributeDesignatorType) {
      matchType.setActionAttributeDesignator((AttributeDesignatorType) childXMLObject);
    } else if (childXMLObject instanceof AttributeSelectorType) {
      matchType.setAttributeSelector((AttributeSelectorType) childXMLObject);
    } else {
      super.processChildElement(parentXMLObject, childXMLObject);
    }
  }