'Runs parsers over the raw data and maps it to artifact_data types.
Args:
processor: A processor method to use.
responses: One or more response items, depending on whether the processor
uses Parse or ParseMultiple.
artifact_name: The name of the artifact.
source: The origin of the data, if specified.'

def _ProcessData(self, processor, responses, artifact_name, source):

    artifact_data = self.state.host_data.get(artifact_name)
    result_iterator = artifact.ApplyParserToResponses(processor, responses, source, self, self.token)
    for rdf in result_iterator:
        if isinstance(rdf, rdf_anomaly.Anomaly):
            artifact_data['ANOMALY'].append(rdf)
        else:
            artifact_data['PARSER'].append(rdf)
