Bar () { java.lang.Object value = this.bar.get(); if (value == null) { synchronized (this.bar) { value = this.bar.get(); if (value == null) { final Bar actualValue = new Bar() { public void setList(java.util.ArrayList<String> list) { } public int getInt() { return 42; } }; value = actualValue == null ? this.bar : actualValue; this.bar.set(value); } } } return (Bar) (value == this.bar ? null : value); }