package de.peeeq.wurstscript.utils; import java.util.function.Supplier; public class Lazy { private boolean done = false; private T value; private final Supplier f; private Lazy(Supplier f) { this.f = f; } public static Lazy create(Supplier f) { return new Lazy<>(f); } public T get() { if (!done) { value = f.get(); done = true; } return value; } }