# File lib/Borges/Utilities/WeakIdentityKeyHash.rb, line 74
    def initialize(orig, hash)
      @internal_id = orig.object_id

      ObjectSpace.define_finalizer(orig, self.class.make_finalizer(@internal_id, hash.object_id))
      ObjectSpace.define_finalizer(self, self.class.make_finalizer(@internal_id, nil))

      Thread.exclusive do
        ID_MAP[@internal_id] = [] unless ID_MAP[@internal_id]
      end

      ID_MAP[@internal_id].push self.object_id
      ID_REV_MAP[self.object_id] = @internal_id
    end