code: def dataset_document_iterator(self, file_path: str) -> Iterator[List[OntonotesSentence]]:
          
          with codecs.open(file_path, 'r', encoding='utf8') as open_file:
              conll_rows = []
              document: List[OntonotesSentence] = []
              for line in open_file:
                  line = line.strip()
                  if line != '' and not line.startswith('#'):
                      # Non-empty line. Collect the annotation.
                      conll_rows.append(line)
                  else:
                      if conll_rows:
                          document.append(self._conll_rows_to_sentence(conll_rows))
                          conll_rows = []
                  if line.startswith("#end document"):
                      yield document
                      document = []
              if document:
                  # Collect any stragglers or files which might not
                  # have the '#end document' format for the end of the file.
                  yield document
docs: An iterator over CONLL formatted files which yields documents, regardless
          of the number of document annotations in a particular file. This is useful
          for conll data which has been preprocessed, such as the preprocessing which
          takes place for the 2012 CONLL Coreference Resolution task.