code: public boolean verify() {
      boolean success = false;
      try {
        TransactionAwareHTable table = new TransactionAwareHTable(conn.getTable(TABLE));
        TransactionContext context = new TransactionContext(txClient, table);
  
        LOG.info("VERIFYING BALANCES");
        context.start();
        long totalBalance = 0;
        ResultScanner scanner = table.getScanner(new Scan());
        try {
          for (Result r : scanner) {
            if (!r.isEmpty()) {
              int rowId = Bytes.toInt(r.getRow());
              long balance = Bytes.toLong(r.getValue(FAMILY, COL));
              totalBalance += balance;
              LOG.info("Client #{}: balance = ${}", rowId, balance);
            }
          }
        } finally {
          if (scanner != null) {
            Closeables.closeQuietly(scanner);
          }
        }
        if (totalBalance == 0) {
          LOG.info("PASSED!");
          success = true;
        } else {
          LOG.info("FAILED! Total balance should be 0 but was {}", totalBalance);
        }
        context.finish();
      } catch (Exception e) {
        LOG.error("Failed verification check", e);
      }
      return success;
    }
docs: Validates the current state of the data stored at the end of the test.  Each update by a client consists of two
  parts: a withdrawal of a random amount from a randomly select other account, and a corresponding to deposit to
  the client's own account.  So, if all the updates were performed consistently (no partial updates or partial
  rollbacks), then the total sum of all balances at the end should be 0.