docs: def to_dense(self, sampling_rate):
          ''' Convert the current sparse column to a dense representation.
          Returns: A DenseRunVariable.
  
          Args:
              sampling_rate (int, str): Sampling rate (in Hz) to use when
                  constructing the DenseRunVariable.
  
          Returns:
              A DenseRunVariable.
  
          '''
          duration = int(math.ceil(sampling_rate * self.get_duration()))
          ts = np.zeros(duration, dtype=self.values.dtype)
  
          onsets = np.round(self.onset * sampling_rate).astype(int)
          durations = np.round(self.duration * sampling_rate).astype(int)
  
          run_i, start, last_ind = 0, 0, 0
          for i, val in enumerate(self.values.values):
              if onsets[i] < last_ind:
                  start += self.run_info[run_i].duration * sampling_rate
                  run_i += 1
              _onset = int(start + onsets[i])
              _offset = int(_onset + durations[i])
              if _onset >= duration:
                  warnings.warn("The onset time of a variable seems to exceed the runs"
                                "duration, hence runs are incremented by one internally.")
              ts[_onset:_offset] = val
              last_ind = onsets[i]
  
          run_info = list(self.run_info)
          return DenseRunVariable(
              name=self.name,
              values=ts,
              run_info=run_info,
              source=self.source,
              sampling_rate=sampling_rate)