Prevent replace from creating new OpaqueKey objects that are the same as the object being replaced
Merge pull request #37 from cpennington/performance

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