code: public Optional<ZonedDateTime> lastExecution(final ZonedDateTime date) {
          Preconditions.checkNotNull(date);
          try {
              ZonedDateTime previousMatch = previousClosestMatch(date);
              if (previousMatch.equals(date)) {
                  previousMatch = previousClosestMatch(date.minusSeconds(1));
              }
              return Optional.of(previousMatch);
          } catch (final NoSuchValueException e) {
              return Optional.empty();
          }
      }
docs: Provide nearest date for last execution.
  
  @param date - ZonedDateTime instance. If null, a NullPointerException will be raised.
  @return Optional ZonedDateTime instance, never null. Last execution time or empty.