def get_data(self, special_fields=None):
docs = build_document_set(self.data, self.data_type, self.mappings,<EOL>special_fields,<EOL>self.idMapping,<EOL>additionalFields=self.additionalFields)<EOL>if self.plugins:<EOL><INDENT>docs = run_plugins(self.plugins, list(docs))<EOL><DEDENT>return docs<EOL>
special_fields: "a dict of data specific to collector type
    that should be added to the data returned by the parser.
    This will also be and operated on by idMapping, mappings and
    plugins"

This method loops through the data provided to the instance.
For each item it will return a dict of the format:
{
    "_timestamp": "the item start_date",
    "dataType": "self.data_type for the instance",
    ...
    "any additional fields": "from self.additionalFields",
    "any special_fields": "from special fields argument",
    "any item dimensions": "from item.dimensions",
    ...
    mappings changing keys in this dict from self.mappings
       are then applied on the above
    ...
    "_humanId": "derived from either the values corresponding to
       idMapping concatenated or the data_type, item.start_date,
       timeSpan and item.dimensions values if any concatenated"
    "_id": "derived from either the values corresponding to
       idMapping concatenated or the data_type, item.start_date,
       timeSpan and item.dimensions values if any concatenated and
       then base64 encoded"
}