public final int size() {
    if (this == EMPTY) return 0;
    E single = asElement();
    if (single != null) return 1;
    Collection<E> col = asCollection();
    if (col != null) return col.size();
    int count = 0;
    for (E ignored : this) {
      count++;
    }
    return count;
  }
public final int size()