"Consider the java.util.Collection method isEmpty() - most Collections do not store whether they are empty or not - they compare their size to 0. (This is not true for all collections, for example ConcurrentLinkedQueue, but it is for most, so much so that AbstractCollection implements it as such.)" . . . .