code: def addChildJobFn(self, fn, *args, **kwargs):
          
          if PromisedRequirement.convertPromises(kwargs):
              return self.addChild(PromisedRequirementJobFunctionWrappingJob.create(fn, *args, **kwargs))
          else:
              return self.addChild(JobFunctionWrappingJob(fn, *args, **kwargs))
docs: Adds a job function as a child job. See :class:`toil.job.JobFunctionWrappingJob`
          for a definition of a job function.
  
          :param fn: Job function to be run as a child job with ``*args`` and ``**kwargs`` as \
          arguments to this function. See toil.job.JobFunctionWrappingJob for reserved \
          keyword arguments used to specify resource requirements.
          :return: The new child job that wraps fn.
          :rtype: toil.job.JobFunctionWrappingJob