I've been tempted by the dark side, when a class needs a value AND a lock (or an "identity"). Instead of doing
final String val = "foo";
final Object lock = new Object();
one can "optimize" this ("why can't we have both?") to
final String valAndLock = new String("foo");
and there are surely folks out there doing this. We should probably
never remove those constructors.
