public virtual ExitCodeType Run(GracefulCancellationToken loadCancellationToken, object payload = null) { PerformPreExecutionChecks(); // create job var job = JobProvider.Create(_repositoryLocator, DataLoadEventListener, _configuration); // if job is null, there are no more jobs to submit if (job == null) { return(ExitCodeType.OperationNotRequired); } job.Payload = payload; return(LoadExecution.Run(job, loadCancellationToken)); }