code: def sort_sentences_by_token_order(sentence_root_nodes, token_nodes):
      
      def sentence_sort_key(sentence_token_tuple):
          """
          extracts a sortable key from the first token node ID of a sentence
          """
          return natural_sort_key(sentence_token_tuple[1][0])
  
      sentence_token_tuples = zip(sentence_root_nodes, token_nodes)
      return sorted(sentence_token_tuples, key=sentence_sort_key)
docs: Given a list of sentence markables (i.e. sentence root nodes) and a list of
      lists of token markables (one list per sentence), returns a list of
      (sentence root node, token nodes) tuples. The result is sorted by the
      order in which the tokens occur in the text.
  
      Parameters
      ----------
      sentence_root_nodes : list of str
          a list of all sentence root node IDs
      token_nodes : list of list of str
          a list of lists. each list represents a sentence and contains
          token node IDs (in the order they occur in the text)
  
      Returns
      -------
      sorted_sentence_tuples : list of (str, list of str) tuples
          a list of all sentences in the order they occur in the text. each
          sentence is represented by an list of ordered token node IDs