code: public CacheBuilder<K, V> ticker(Ticker ticker) {
      checkState(this.ticker == null);
      this.ticker = checkNotNull(ticker);
      return this;
    }
docs: Specifies a nanosecond-precision time source for this cache. By default, {@link
  System#nanoTime} is used.
  
  <p>The primary intent of this method is to facilitate testing of caches with a fake or mock
  time source.
  
  @return this {@code CacheBuilder} instance (for chaining)
  @throws IllegalStateException if a ticker was already set