docs: def download_feature_values_and_metadata_files(self, mapobject_type_name,
                                                     directory, parallel=1):
          '''Downloads all feature values for the given object type and stores the
          data as *CSV* files on disk.
  
          Parameters
          ----------
          mapobject_type_name: str
              type of the segmented objects
          directory: str
              absolute path to the directory on disk where the file should be
          parallel: int
              number of parallel processes to use for upload
  
          See also
          --------
          :meth:`tmclient.api.TmClient.download_feature_values`
          :meth:`tmclient.api.TmClient.download_object_metadata`
          '''
  
          def download_per_well(well):
              logger.info(
                  'download feature data at well: plate=%s, well=%s',
                  well['plate_name'], well['name']
              )
              res = self._download_feature_values(
                  mapobject_type_name, well['plate_name'], well['name']
              )
              filename = self._extract_filename_from_headers(res.headers)
              filepath = os.path.join(directory, os.path.basename(filename))
              logger.info('write feature values to file: %s', filepath)
              with open(filepath, 'wb') as f:
                  for c in res.iter_content(chunk_size=1000):
                      f.write(c)
  
              logger.info(
                  'download feature metadata at well: plate=%s, well=%s',
                  well['plate_name'], well['name']
              )
              res = self._download_object_metadata(
                  mapobject_type_name, well['plate_name'], well['name']
              )
              filename = self._extract_filename_from_headers(res.headers)
              filepath = os.path.join(directory, os.path.basename(filename))
              logger.info('write metadata to file: %s', filepath)
              with open(filepath, 'wb') as f:
                  for c in res.iter_content(chunk_size=1000):
                      f.write(c)
  
          work = [(download_per_well, well) for well in self.get_wells()]
          self._parallelize(work, parallel)