Pulling in some changes to last read as it has changed to lazy set and atomic long instead of volatile