code: def save_to_files(self, directory: str) -> None:
          
          os.makedirs(directory, exist_ok=True)
          if os.listdir(directory):
              logging.warning("vocabulary serialization directory %s is not empty", directory)
  
          with codecs.open(os.path.join(directory, NAMESPACE_PADDING_FILE), 'w', 'utf-8') as namespace_file:
              for namespace_str in self._non_padded_namespaces:
                  print(namespace_str, file=namespace_file)
  
          for namespace, mapping in self._index_to_token.items():
              # Each namespace gets written to its own file, in index order.
              with codecs.open(os.path.join(directory, namespace + '.txt'), 'w', 'utf-8') as token_file:
                  num_tokens = len(mapping)
                  start_index = 1 if mapping[0] == self._padding_token else 0
                  for i in range(start_index, num_tokens):
                      print(mapping[i].replace('\n', '@@NEWLINE@@'), file=token_file)
docs: Persist this Vocabulary to files so it can be reloaded later.
          Each namespace corresponds to one file.
  
          Parameters
          ----------
          directory : ``str``
              The directory where we save the serialized vocabulary.