boolean () { if (this == EMPTY) return true; E single = asElement(); if (single != null) return false; Collection<E> col = asCollection(); if (col != null) { return col.isEmpty(); } return !iterator().hasNext(); }