Wrap it into AtomicReference if we want to synchronize the methods below?