public class GetterLazyExample { private double[] $lombok$lazy1v; private volatile boolean $lombok$lazy1i; private final Object $lombok$lazyLock = new Object[0]; public double[] getCached() { if (!this.$lombok$lazy1i) { synchronized (this.$lombok$lazyLock) { if (!this.$lombok$lazy1i) { this.$lombok$lazy1v = expensive(); this.$lombok$lazy1i = true; } } } return this.$lombok$lazy1v; } private double[] expensive() { double[] result = new double[1000000]; for (int i = 0; i < result.length; i++) { result[i] = Math.asin(i); } return result; } }