docs: def download_jterator_project_files(self, directory):
          '''Downloads the *jterator* project and stores it
          on disk in YAML format. The pipeline description will be stored
          in a ``pipeline.yaml`` file in `directory` and each handle description
          will be stored in a ``*handles.yaml`` file and placed into a ``handles``
          subfolder of `directory`.
  
          Parameters
          ----------
          directory: str
              path to the root folder where files should be stored
  
          See also
          --------
          :meth:`tmclient.api.TmClient.download_jterator_project`
          '''
          descriptions = self.download_jterator_project()
          directory = os.path.expanduser(os.path.expandvars(directory))
  
          logger.info(
              'store jterator project description in directory: %s', directory
          )
          if not os.path.exists(directory):
              raise OSError('Directory does not exit: {0}'.format(directory))
  
          pipeline_filename = os.path.join(directory, 'pipeline.yaml')
          logger.debug('write pipeline description to file: %s', pipeline_filename)
          with open(pipeline_filename, 'w') as f:
              content = yaml.safe_dump(
                  descriptions['pipeline'],
                  explicit_start=True, default_flow_style=False
              )
              f.write(content)
  
          handles_subdirectory = os.path.join(directory, 'handles')
          if not os.path.exists(handles_subdirectory):
              logger.debug('create "handles" directory')
              os.mkdir(handles_subdirectory)
          for name, description in descriptions['handles'].items():
              handles_filename = os.path.join(
                  handles_subdirectory, '{name}.handles.yaml'.format(name=name)
              )
              logger.debug(
                  'write handles description to file: %s', handles_filename
              )
              with open(handles_filename, 'w') as f:
                  content = yaml.safe_dump(
                      description,
                      explicit_start=True, default_flow_style=False
                  )
                  f.write(content)