ui/src/main/java/ucar/nc2/ui/op/BufrReportPanel.java
private void doCheckHash(Formatter f, MCollection dcm, boolean useIndex) throws IOException {
    f.format("Check Files for hash consistency%n");
    int[] accum = new int[4];
    TrackMessageTypes all = new TrackMessageTypes();

    for (MFile mfile : dcm.getFilesSorted()) {
      String path = mfile.getPath();
      if (path.endsWith(".ncx")) continue;
      f.format("%n %s%n", path);
      try {
        doCheckHash(mfile, f, all, accum);

      } catch (Throwable t) {
        System.out.printf("FAIL on %s%n", mfile.getPath());
        t.printStackTrace();
      }
    }

    f.format("%n================%nTotals countMess=%d countObs = %d%n", accum[0], accum[1]);
    show(all, f);
  }
private void doCheckHash(Formatter f, MCollection dcm, boolean useIndex) throws IOException {
    f.format("Check Files for hash consistency%n");
    int[] accum = new int[4];
    TrackMessageTypes all = new TrackMessageTypes();

    for (MFile mfile : dcm.getFilesSorted()) {
      String path = mfile.getPath();
      if (path.endsWith(".ncx")) continue;
      f.format("%n %s%n", path);
      try {
        doCheckHash(mfile, f, all, accum);

      } catch (Throwable t) {
        System.out.printf("FAIL on %s%n", mfile.getPath());
        t.printStackTrace();
      }
    }

    f.format("%n================%nTotals countMess=%d countObs = %d%n", accum[0], accum[1]);
    show(all, f);
  }
/////////////////////////////////////////////