private Intermediate LinkPhase(IEnumerable <Intermediate> intermediates) { var creator = this.ServiceProvider.GetService <ITupleDefinitionCreator>(); var libraries = this.LoadLibraries(creator); if (this.Messaging.EncounteredError) { return(null); } var linker = new Linker(this.ServiceProvider); linker.OutputType = this.OutputType; linker.Intermediates = intermediates; linker.Libraries = libraries; linker.TupleDefinitionCreator = creator; return(linker.Execute()); }