public static void main(String[] args){

        // Provide some help/usage information
        if(args.length == 0 || args[0].equals("-h")){
            printHelpMessage();
        }

        // LinkedList will perform better than ArrayList for our needs
        LinkedList<ReconcilableTransaction> transactions = null;

        for(String fileName : args){

            try {
                transactions = generateTransactionsFromFile(fileName);

                // Perform reconciliation on the records
                LinkedList<ReconciliationTransaction> reconciliations
                            = ReconciliationTransaction.reconcileTransactionList(transactions);

                // Output to csv file
                outputToCsv(reconciliations, fileName);

            } catch (IOException e){
                // Alert of input-file error and continue to next file
                System.err.println(String.format("\nError: Unable to process file: %s", fileName));
                e.printStackTrace();
                continue;
            }

        }

    }