@Override
  public void execute(@NotNull Runnable command) {
    final BooleanSupplier condition = ((myExpiration == null) && (myCancellationCondition == null)) ? null : () -> {
      if (myExpiration != null && myExpiration.isExpired()) return false;
      if (myCancellationCondition != null && myCancellationCondition.getAsBoolean()) return false;
      return true;
    };
    myExecutionScheduler.scheduleWithinConstraints(command, condition);
  }
@Override
  public void execute(@NotNull Runnable command)