I still don't like checkNonNull. It checks whether its argument is
non-null, but then what does it do? Throw an exception if it is
non-null? Throw an exception if it isn't? Do something else?
My aversion to checkNonNull naming pattern comes from experience. Long,
long ago in a code base far, far away I wrote a big set of unit tests
using this pattern. Coming back to it months later I had to read the
code very closely and keep reminding myself that the checkFoo procedures
were ensuring the Foo condition rather ensuring nonFoo.
I see your point now. Perhaps you'd prefer requireNonNull() for the
throwing version?
public void fooWrapper(String s, String t) {
foo(requireNonNull(s), requireNonNull(t));
}
I get your point about maybe we should just remove this, but I do think
that a method that acts on all object references ignorant of the
reference type, fits within the mission of juO.