code: def addFollowOnFn(self, fn, *args, **kwargs):
          
          if PromisedRequirement.convertPromises(kwargs):
              return self.addFollowOn(PromisedRequirementFunctionWrappingJob.create(fn, *args, **kwargs))
          else:
              return self.addFollowOn(FunctionWrappingJob(fn, *args, **kwargs))
docs: Adds a function as a follow-on job.
  
          :param fn: Function to be run as a follow-on job with ``*args`` and ``**kwargs`` as \
          arguments to this function. See toil.job.FunctionWrappingJob for reserved \
          keyword arguments used to specify resource requirements.
          :return: The new follow-on job that wraps fn.
          :rtype: toil.job.FunctionWrappingJob