public AcctsRecTransRec get() {
      String addCode = "A";
      String changeCode = "C";
      String deleteCode = "D";

      AcctsRecTransRec result;

      if (sc.hasNext()) {
         line = sc.nextLine();
         tokens = line.split("[ ]++");
         if (tokens.length == 0  ||  tokens[0].length() != 1) {
            result = new AcctsRecIllFormedTransRec("", line.getBytes());
         }
         else {
            if (tokens[0].equals(addCode))
               { result = parseAddTransaction(); }
            else if (tokens[0].equals(changeCode))
               { result = parseChangeTransaction(); }
            else if (tokens[0].equals(deleteCode))
               { result = parseDeleteTransaction(); }
            else {  // transaction type not properly specified
               if (tokens.length > 1) {
                  result = new AcctsRecIllFormedTransRec(tokens[1], 
                                                         line.getBytes());
               }
               else {
                  result = new AcctsRecIllFormedTransRec("", line.getBytes());
               }
            }
         }
      }
      else {
         result = null;
      }
      return result;
   }