docs: def remove_eoc_marker(self, text, next_text):
          """Remove end of cell marker when next cell has an explicit start marker"""
          if self.cell_marker_start:
              return text
  
          if self.is_code() and text[-1] == self.comment + ' -':
              # remove end of cell marker when redundant with next explicit marker
              if not next_text or next_text[0].startswith(self.comment + ' + {'):
                  text = text[:-1]
                  # When we do not need the end of cell marker, number of blank lines is the max
                  # between that required at the end of the cell, and that required before the next cell.
                  if self.lines_to_end_of_cell_marker and (self.lines_to_next_cell is None or
                                                           self.lines_to_end_of_cell_marker > self.lines_to_next_cell):
                      self.lines_to_next_cell = self.lines_to_end_of_cell_marker
              else:
                  # Insert blank lines at the end of the cell
                  blank_lines = self.lines_to_end_of_cell_marker
                  if blank_lines is None:
                      # two blank lines when required by pep8
                      blank_lines = pep8_lines_between_cells(text[:-1], next_text, self.ext)
                      blank_lines = 0 if blank_lines < 2 else 2
                  text = text[:-1] + [''] * blank_lines + text[-1:]
  
          return text