Prevent replace from creating new OpaqueKey objects that are the same as...

... the object being replaced