docs: def get_data(self, special_fields=None):
          """
          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"
          }
          """
          docs = build_document_set(self.data, self.data_type, self.mappings,
                                    special_fields,
                                    self.idMapping,
                                    additionalFields=self.additionalFields)
  
          if self.plugins:
              docs = run_plugins(self.plugins, list(docs))
  
          return docs