@Override
  public boolean remove(@NotNull Object obj) {
    T theElement = this.theElement;
    if (theElement == null) {
      return super.remove(obj);
    }

    if (Objects.equals(obj, theElement)) {
      this.theElement = null;
      return true;
    }
    return false;
  }
@Override
  public boolean remove(@NotNull Object obj)