question: private static PolicyNotification extractPolicyNotification ( String xml ) throws PolicyEvaluationException { PolicyNotification policyNotification = null ; try { String notificationDataBlock = getNotificationDataBlock ( xml ) ; if ( notificationDataBlock != null ) { Document doc = XMLUtils . getXMLDocument ( new ByteArrayInputStream ( notificationDataBlock . getBytes ( ) ) ) ; Node rootNode = XMLUtils . getRootNode ( doc , NODE_POLICY_SERVICE ) ; if ( rootNode != null ) { Node notificationNode = XMLUtils . getChildNode ( rootNode , NODE_POLICY_NOTIFICATION ) ; if ( notificationNode != null ) { policyNotification = PolicyNotification . parseXML ( notificationNode ) ; } else { debug . error ( "ResultsCacheUtil." + "extractPolicyNotification():" + "cannot find notification node" ) ; throw new PolicyEvaluationException ( ResBundleUtils . rbName , "invalid_root_element" , null , null ) ; } } else { debug . error ( "ResultsCacheUtil." + "extractPolicyNotification():" ) ; } } else { debug . error ( "ResultsCacheUtil:" + "extractPolicyNotification():" + "notification data block is null" ) ; } } catch ( Exception xe ) { debug . error ( "ResultsCacheUtil.extractPolicyNotification():" , xe ) ; throw new PolicyEvaluationException ( ResBundleUtils . rbName , "xml_parsing_error" , null , xe ) ; } return policyNotification ; }
target:  Returns the notification XML node