docs: def _combine_ranges_on_length(self, data_len, first, second):
          '''
          Combines a first range with a second range, where the second
          range is considered within the scope of the first.
          '''
          first = get_true_slice(first, data_len)
          second = get_true_slice(second, data_len)
          final_start, final_step, final_stop = (None, None, None)
  
          # Get our start
          if first.start == None and second.start == None:
              final_start = None
          else:
              final_start = (first.start if first.start else 0)+(second.start if second.start else 0)
  
          # Get our stop
          if second.stop == None:
              final_stop = first.stop
          elif first.stop == None:
              final_stop = (first.start if first.start else 0) + second.stop
          else:
              final_stop = min(first.stop, (first.start if first.start else 0) + second.stop)
  
          # Get our step
          if first.step == None and second.step == None:
              final_step = None
          else:
              final_step = (first.step if first.step else 1)*(second.step if second.step else 1)
  
          # If we have a start above our stop, set them to be equal
          if final_start > final_stop:
              final_start = final_stop
  
          return slice(final_start, final_stop, final_step)