Implement a Singleton. Now, implement it another way (with the data member initially equaling NULL). Next, if the system has several users, how will you prevent concurrent access and deal with two users entering the 'if' at once in the first call (while still NULL) resulting in more than one singleton instance? What will you add to the code and where? How will you deal the fact that your previous answer is irrelevant in the majority of cases when the member is no longer NULL? (Double-checked locking)