static boolean stdEq(O a, O b, S... fields) { if (a == null) ret b == null; if (b == null) ret false; if (a.getClass() != b.getClass()) ret false; for (S field : fields) if (neq(getOpt(a, field), getOpt(b, field))) ret false; ret true; }