private static InstructionGenerator <Instruction> .TryGetDelegate[] GetInstructionDelegatesFrom(InstructionCarGenerator.TryGetDelegateWithLanguageReference[] tryGetDelegates, ILanguageReference languageReference)
 {
     InstructionGenerator <Instruction> .TryGetDelegate[] tryGetDelegateArray = new InstructionGenerator <Instruction> .TryGetDelegate[tryGetDelegates.Length];
     for (int index = 0; index < tryGetDelegateArray.Length; ++index)
     {
         tryGetDelegateArray[index] = InstructionCarGenerator.GetInstructionDelegateFrom(tryGetDelegates[index], languageReference);
     }
     return(tryGetDelegateArray);
 }
        public static List <Instruction> Generate(Route route, ILanguageReference languageReference)
        {
            InstructionCarGenerator instructionCarGenerator = new InstructionCarGenerator(route, languageReference);

            instructionCarGenerator.Run();
            if (instructionCarGenerator.HasSucceeded)
            {
                return(instructionCarGenerator.Instructions);
            }
            return(new List <Instruction>());
        }
 public InstructionCarGenerator(Route route, ILanguageReference languageReference, InstructionCarGenerator.TryGetDelegateWithLanguageReference[] getInstructionDelegates)
     : base(route, InstructionCarGenerator.GetInstructionDelegatesFrom(getInstructionDelegates, languageReference))
 {
 }