code: def _retrieve(self, index, value):
      left, right = 2 * index + 1, 2 * index + 2
  
      if left >= len(self.sum_tree):
          return index
      elif value <= self.sum_tree[left]:
          return self._retrieve(left, value)
      else:
          return self._retrieve(right, value - self.sum_tree[left])
  
file_path: SerpentAI/serpent/machine_learning/reinforcement_learning/rainbow_dqn/segment_tree.py
label_desc: Use image node_id 7 for calling the SegmentTree obj's underlying member method code with example usage: obj._retrieve(index, value) and returns: index, self, self