//-> /File

        //-> To work with this engine you must create one instance of it in this way:

        protected override void Run()
        {
            //-> File:RunEngine.cs

            var engine = new FileHelpers.MultiRecordEngine(typeof(Orders),
                                                           typeof(Customer),
                                                           typeof(SampleType));

            engine.RecordSelector = new RecordTypeSelector(CustomSelector);

            var res = engine.ReadFile("Input.txt");

            foreach (var rec in res)
            {
                Console.WriteLine(rec.ToString());
            }

            //-> /File
        }
        //-> This is the selector that determines the record type based on whatever criteria you write

        //-> File:Selector.cs
        private Type CustomSelector(FileHelpers.MultiRecordEngine engine, string recordLine)
        {
            if (recordLine.Length == 0)
            {
                return(null);
            }

            if (char.IsLetter(recordLine[0]))
            {
                return(typeof(Customer));
            }
            else if (recordLine.Length == 14)
            {
                return(typeof(SampleType));
            }
            else
            {
                return(typeof(Orders));
            }
        }