docs: def save_file_data(self, path):
          """ Implements the abstract method of the ExternalEditor class.
          """
          try:
              # just create file with empty text first; this command also creates the whole path to the file
              filesystem.write_file(os.path.join(path, storage.SCRIPT_FILE), "", create_full_path=True)
              storage_utils.write_dict_to_json(self.model.state.semantic_data, os.path.join(path, storage.SEMANTIC_DATA_FILE))
          except IOError as e:
              # Only happens if the file doesnt exist yet and would be written to the temp folder.
              # The method write_file doesn't create the path
              logger.error('The operating system raised an error: {}'.format(e))