public TestJob(MRApp _enclosing, JobId jobId, ApplicationAttemptId applicationAttemptId , Configuration conf, EventHandler eventHandler, TaskAttemptListener taskAttemptListener , Clock clock, OutputCommitter committer, bool newApiCommitter, string user, AppContext appContext, JobStateInternal forcedState, string diagnostic) : base(jobId, MRApp.GetApplicationAttemptId(MRApp.applicationId, this._enclosing. GetStartCount()), conf, eventHandler, taskAttemptListener, new JobTokenSecretManager (), new Credentials(), clock, this._enclosing.GetCompletedTaskFromPreviousRun(), this._enclosing.metrics, committer, newApiCommitter, user, Runtime.CurrentTimeMillis (), this._enclosing.GetAllAMInfos(), appContext, forcedState, diagnostic) { this._enclosing = _enclosing; // This "this leak" is okay because the retained pointer is in an // instance variable. this.localStateMachine = this.localFactory.Make(this); }