code: def get_new_document(self, cursor_pos=None):
          
          lines = []
  
          # Original text, before cursor.
          if self.original_document.text_before_cursor:
              lines.append(self.original_document.text_before_cursor)
  
          # Selected entries from the history.
          for line_no in sorted(self.selected_lines):
              lines.append(self.history_lines[line_no])
  
          # Original text, after cursor.
          if self.original_document.text_after_cursor:
              lines.append(self.original_document.text_after_cursor)
  
          # Create `Document` with cursor at the right position.
          text = '\n'.join(lines)
          if cursor_pos is not None and cursor_pos > len(text):
              cursor_pos = len(text)
          return Document(text, cursor_pos)
docs: Create a `Document` instance that contains the resulting text.