@Override
  public void forEach(Consumer<? super T> action) {
    T theElement = this.theElement;
    if (theElement == null) {
      super.forEach(action);
    }
    else {
      action.accept(theElement);
    }
  }
@Override
  public void forEach(Consumer<? super T> action)