/** Returns the shared object. */
SharedObjectType& get() const noexcept { return *sharedObject; }
/** Returns the object that this pointer references.
The pointer returned may be zero, of course.
*/
SharedObjectType& getObject() const noexcept { return *sharedObject; }
Why have both methods that do the same thing?
