@Override
  public O apply(I i) {
    Try<O> result = cache.get(i);
    if (result == null) {
      result = cache.computeIfAbsent(i, supplier);
    }
    return result.get();
  }
Returns a memoized version of {@code supplier} that gets called only once for each input.
planetiler-core/src/main/java/com/onthegomap/planetiler/util/Memoized.java