class MemoizedFileSystemsSupplier implements Supplier<T> {

    @Override
    public T get() {

        T t = this.map.computeIfAbsent(MemoizedFileSystemsSupplier.class,
                                       k -> this.delegate.get());
        return t;
    }

    private  MemoizedFileSystemsSupplier(Supplier<T> delegate);

}