docs: def add_data_attribute(self, data_attr):
          '''Interprets a DATA attribute and add it to the datastream.'''
          if data_attr.header.attr_type_id is not AttrTypes.DATA:
              raise DataStreamError("Invalid attribute. A Datastream deals only with DATA attributes")
          if data_attr.header.attr_name != self.name:
              raise DataStreamError(f"Data from a different stream '{data_attr.header.attr_name}' cannot be add to this stream")
  
          if data_attr.header.non_resident:
              nonr_header = data_attr.header
              if self._data_runs is None:
                  self._data_runs = []
              if nonr_header.end_vcn > self.cluster_count:
                  self.cluster_count = nonr_header.end_vcn
              if not nonr_header.start_vcn: #start_vcn == 0
                  self.size = nonr_header.curr_sstream
                  self.alloc_size = nonr_header.alloc_sstream
              self._data_runs.append((nonr_header.start_vcn, nonr_header.data_runs))
              self._data_runs_sorted = False
          else: #if it is resident
              self.size = self.alloc_size = data_attr.header.content_len
              self._pending_processing = None
              #respects mft_config["load_data"]
              self._content = data_attr.content.content