public class TinyHashSet
extends java.lang.Object
TinyHashSet is used to optimize (for speed, not space) the case where a
HashSet generally holds a single element. This saves us the cost of
creating the HashSet and related elements as well as call Object.hashCode().
If single != null, it's the only element in the TinyHashSet. If set != null
then there are multiple elements in the TinyHashSet. It should never be
true that (single != null) && (set != null).