Chapter #3 - Section 3.5 - Caching the last result using a volatile reference to an immutable holder object