public static <I, O> Memoized<I, O> memoize(FunctionThatThrows<I, O> supplier) {
    return new Memoized<>(supplier);
  }
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