'XXX
@return: A new LUID.'

def cacheRemotely(self, instance):

    puid = instance.processUniqueID()
    luid = self.newLocalID()
    if (len(self.remotelyCachedObjects) > MAX_BROKER_REFS):
        self.maxBrokerRefsViolations = (self.maxBrokerRefsViolations + 1)
        if (self.maxBrokerRefsViolations > 3):
            self.transport.loseConnection()
            raise Error('Maximum    PB    cache    count    exceeded.        Goodbye.')
        raise Error('Maximum    PB    cache    count    exceeded.')
    self.remotelyCachedLUIDs[puid] = luid
    self.remotelyCachedObjects[luid] = Local(instance, self.serializingPerspective)
    return luid
