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;
	}
}