cdm/src/main/java/ucar/nc2/util/CompareNetcdf2.java
private boolean checkEach(String what, Object want1, String name1, List list1, String name2, List list2, List result) {
    boolean ok = true;
    try {
      int index2 = list2.indexOf(want1);
      if (index2 < 0) {
        f.format("  ** %s: %s 0x%x (%s) not in %s %n", what, want1, want1.hashCode(), name1, name2);
        ok = false;
      } else { // found it in second list
        Object want2 = list2.get(index2);
        int index1 = list1.indexOf(want2);
        if (index1 < 0) { // can this happen ??
          f.format("  ** %s: %s 0x%x (%s) not in %s %n", what, want2, want2.hashCode(), name2, name1);
          ok = false;

        } else { // found it in both lists
          Object want = list1.get(index1);
          if (!want.equals(want1)) {
            f.format("  ** %s: %s 0x%x (%s) not equal to %s 0x%x (%s) %n", what, want1, want1.hashCode(), name1, want2, want2.hashCode(), name2);
            ok = false;
          } else {
            if (showEach)
              f.format("  OK <%s> equals <%s>%n", want1, want2);
            if (result != null) {
              result.add(want1);
              result.add(want2);
            }
          }
        }
      }

    } catch (Throwable t) {
      t.printStackTrace();
      f.format(" *** Throwable= %s %n", t.getMessage());
    }

    return ok;
  }
private boolean checkEach(String what, Object want1, String name1, List list1, String name2, List list2, List result) {
    boolean ok = true;
    try {
      int index2 = list2.indexOf(want1);
      if (index2 < 0) {
        f.format("  ** %s: %s 0x%x (%s) not in %s %n", what, want1, want1.hashCode(), name1, name2);
        ok = false;
      } else { // found it in second list
        Object want2 = list2.get(index2);
        int index1 = list1.indexOf(want2);
        if (index1 < 0) { // can this happen ??
          f.format("  ** %s: %s 0x%x (%s) not in %s %n", what, want2, want2.hashCode(), name2, name1);
          ok = false;

        } else { // found it in both lists
          Object want = list1.get(index1);
          if (!want.equals(want1)) {
            f.format("  ** %s: %s 0x%x (%s) not equal to %s 0x%x (%s) %n", what, want1, want1.hashCode(), name1, want2, want2.hashCode(), name2);
            ok = false;
          } else {
            if (showEach)
              f.format("  OK <%s> equals <%s>%n", want1, want2);
            if (result != null) {
              result.add(want1);
              result.add(want2);
            }
          }
        }
      }

    } catch (Throwable t) {
      t.printStackTrace();
      f.format(" *** Throwable= %s %n", t.getMessage());
    }

    return ok;
  }
private boolean checkEach ( String what , Object want1 , String name1 , List list1 , String name2 , List list2 , List result ) { boolean ok = true ; try { int index2 = list2 . indexOf ( want1 ) ; if ( index2 < 0 ) { f . format ( "  ** %s: %s 0x%x (%s) not in %s %n" , what , want1 , want1 . hashCode ( ) , name1 , name2 ) ; ok = false ; } else { // found it in second list
 Object want2 = list2 . get ( index2 ) ; int index1 = list1 . indexOf ( want2 ) ; if ( index1 < 0 ) { // can this happen ??
 f . format ( "  ** %s: %s 0x%x (%s) not in %s %n" , what , want2 , want2 . hashCode ( ) , name2 , name1 ) ; ok = false ; } else { // found it in both lists
 Object want = list1 . get ( index1 ) ; if ( ! want . equals ( want1 ) ) { f . format ( "  ** %s: %s 0x%x (%s) not equal to %s 0x%x (%s) %n" , what , want1 , want1 . hashCode ( ) , name1 , want2 , want2 . hashCode ( ) , name2 ) ; ok = false ; } else { if ( showEach ) f . format ( "  OK <%s> equals <%s>%n" , want1 , want2 ) ; if ( result != null ) { result . add ( want1 ) ; result . add ( want2 ) ; } } } } } catch ( Throwable t ) { t . printStackTrace ( ) ; f . format ( " *** Throwable= %s %n" , t . getMessage ( ) ) ; } return ok ; }
check that want is in both list1 and list2, using object.equals()
check that want is in both list1 and list2 using object . equals ()