code: public static <K, V> ThreadLocalLoadingCache<K, V> create(CacheLoader<K, V> cacheLoader, long duration, TimeUnit unit) {
          checkNotNull(cacheLoader);
          checkArgument(duration >= 0, "duration cannot be negative: %s %s", duration, unit);
          return new ExpireableThreadLocalLoadingCache<K, V>(cacheLoader, unit.toNanos(duration));
      }
docs: Create expireable {@code ThreadLocalLoadingCache} instance.
  
  @param cacheLoader          - cache loader, must be not null
  @param duration             - amount of time after which entry considered expired
  @param unit                 - time unit of the duration
  @param <K>                  - key type
  @param <V>                  - value type
  @return cache instance