docs: def _parse_join(self, tokens):
          """ Parses a join.
           Join ::= 'join' '(' SuperRange [',' SuperRange] ')'
          """
          children = []
          tokens.pop(0)  # Pop 'join'
          tokens.pop(0)  # Pop '('
          children.append(self._parse_nested_interval(tokens))
          while tokens[0] == ',':
              tokens.pop(0)
              children.append(self._parse_nested_interval(tokens))
          tokens.pop(0)  # Pop ')'
  
          chromosome, strand = next((child.chromosome, child.strand) for child in children)
          start = min(child.start.position for child in children)
          stop = max(child.stop.position for child in children)
          parent = NestedGenomicInterval(start, stop, chromosome=chromosome, strand=strand)
          parent.children = children
          return parent