public Try<O> tryApply(I i) {
    Try<O> result = cache.get(i);
    if (result == null) {
      result = cache.computeIfAbsent(i, supplier);
    }
    return result;
  }
Returns a success or failure wrapper for the function call.
planetiler-core/src/main/java/com/onthegomap/planetiler/util/Memoized.java