code: public void setStopCriterionCheckPeriod(long period, TimeUnit timeUnit){
          // acquire status lock
          synchronized(statusLock){
              // assert idle
              assertIdle("Cannot modify stop criterion check period.");
              // pass new settings to checker
              stopCriterionChecker.setPeriod(period, timeUnit);
              // log
              LOGGER.debug("{}: set stop criterion check period to {} ms", this, timeUnit.toMillis(period));
          }
      }
docs: Instructs the search to check its stop criteria at regular intervals separated by the given period.
  For the default period, see {@link StopCriterionChecker}, which is used internally for this purpose.
  The period should be at least 1 millisecond, else the stop criterion checker may thrown an exception
  when the search is started. Note that this method may only be called when the search is idle.
  <p>
  Regardless of the specified period, the stop criteria are also checked after each search step.
  
  @param period time between subsequent stop criterion checks (&gt; 0)
  @param timeUnit corresponding time unit
  @throws SearchException if the search is not idle
  @throws IllegalArgumentException if the given period is not strictly positive