If the target is NOT null and IS dead, it throws an exception.

Other wise it still sets the target to a soft ref even if its null