if(a1 == null || a2 == null) return false;  if(a1 == a2) return true;   if(a1.length != a2.length) return false;  for(int i=0; i < a1.length; i++) { if(a1[i] != a2[i]) return false; } return true;
if(obj1 != null) return obj1.equals(obj2); else return obj2.equals(obj1);
    public static boolean match(long[] a1, long[] a2) {        if(a1 == null && a2 == null)            return true;        if(a1 == null || a2 == null)            return false;        if(a1 == a2) // identity            return true;        // at this point, a1 != null and a2 != null        if(a1.length != a2.length)            return false;        for(int i=0; i < a1.length; i++) {            if(a1[i] != a2[i])                return false;        }        return true;    }