docs: def _add_data(self, eopatch, data):
          """ Adds downloaded data to EOPatch """
          valid_mask = data[..., -1]
          data = data[..., :-1]
  
          if data.ndim == 3:
              data = data.reshape(data.shape + (1,))
          if not self.feature_type.is_time_dependent():
              if data.shape[0] > 1:
                  raise ValueError('Cannot save time dependent data to time independent feature')
              data = data.squeeze(axis=0)
          if self.feature_type.is_discrete():
              data = data.astype(np.int32)
  
          eopatch[self.feature_type][self.feature_name] = data
  
          mask_feature_type, mask_feature_name = next(self.valid_data_mask_feature())
  
          max_value = self.image_format.get_expected_max_value()
          valid_data = (valid_mask == max_value).astype(np.bool).reshape(valid_mask.shape + (1,))
  
          if mask_feature_name not in eopatch[mask_feature_type]:
              eopatch[mask_feature_type][mask_feature_name] = valid_data