public JobDeploymentSession[] GetJobs() { if (this._jobs == null) { // resolved the token values var tokens = Tokens.Clone(); // collect job common tokens var cp = Config?.CommonProcessor; var commonJobTokens = cp?.JobCommonTokens?.ToTokens(); tokens.AddDictionary(commonJobTokens); // for each job, append job sepcific tokens and resolve them this._jobs = this.Config? .GetJobs(tokens)? .Select(job => new JobDeploymentSession(JobMetadata.GetJobName(job.Tokens), job.Tokens, this))? .ToArray(); } return(this._jobs); }