/** {@inheritDoc} */ protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject) throws UnmarshallingException { PolicyType policy = (PolicyType) parentXMLObject; if (childXMLObject instanceof DescriptionType) { policy.setDescription((DescriptionType) childXMLObject); } else if (childXMLObject.getElementQName().equals(DefaultsType.POLICY_DEFAULTS_ELEMENT_NAME)) { policy.setPolicyDefaults((DefaultsType) childXMLObject); } else if (childXMLObject instanceof TargetType) { policy.setTarget((TargetType) childXMLObject); } else if (childXMLObject instanceof CombinerParametersType) { policy.getCombinerParameters().add((CombinerParametersType) childXMLObject); } else if (childXMLObject instanceof RuleCombinerParametersType) { policy.getRuleCombinerParameters().add((RuleCombinerParametersType) childXMLObject); } else if (childXMLObject instanceof VariableDefinitionType) { policy.getVariableDefinitions().add((VariableDefinitionType) childXMLObject); } else if (childXMLObject instanceof RuleType) { policy.getRules().add((RuleType) childXMLObject); } else if (childXMLObject instanceof ObligationsType) { policy.setObligations((ObligationsType) childXMLObject); } else { super.processChildElement(parentXMLObject, childXMLObject); } }