public static int Main(string[] args)
        {
            StreamReader reader = new StreamReader(args[0]);
              string firstLine = reader.ReadLine();

              string CardAccount, BankAccount;

              IStatementConverter converter;
              if (firstLine.StartsWith("TRANSACTION DATE")) {
            converter = new ConvertNrlGoldMasterCardStatement();

            CardAccount = "Liabilities:NRL:MasterCard";
            BankAccount = "Assets:NRL:Checking";
              } else {
            converter = new ConvertUsaaMastercardStatement();

            CardAccount = "Liabilities:USAA:MasterCard";
            BankAccount = "Assets:E*Trade:Bank";
              }

              reader = new StreamReader(args[0]);
              List<Transaction> xacts = converter.ConvertRecords(reader.BaseStream);

              //PrintTransactions printer = new PrintTransactions(args[1]);
              PrintTransactions printer = new PrintTransactions();
              printer.Print(CardAccount, BankAccount, xacts);

              return 0;
        }
        public static int Main(string[] args)
        {
            StreamReader reader    = new StreamReader(args[0]);
            string       firstLine = reader.ReadLine();

            string CardAccount, BankAccount;

            IStatementConverter converter;

            if (firstLine.StartsWith("TRANSACTION DATE"))
            {
                converter = new ConvertNrlGoldMasterCardStatement();

                CardAccount = "Liabilities:NRL:MasterCard";
                BankAccount = "Assets:NRL:Checking";
            }
            else
            {
                converter = new ConvertUsaaMastercardStatement();

                CardAccount = "Liabilities:USAA:MasterCard";
                BankAccount = "Assets:E*Trade:Bank";
            }

            reader = new StreamReader(args[0]);
            List <Transaction> xacts = converter.ConvertRecords(reader.BaseStream);

            //PrintTransactions printer = new PrintTransactions(args[1]);
            PrintTransactions printer = new PrintTransactions();

            printer.Print(CardAccount, BankAccount, xacts);

            return(0);
        }