'This will create the object if needed so should not fail.'

@utils.Synchronized
def Get(self, subject):

    (filename, directory) = common.ResolveSubjectDestination(subject, self.path_regexes)
    key = common.MakeDestinationKey(directory, filename)
    try:
        return super(RemoteMappingCache, self).Get(key)
    except KeyError:
        data_server = self.inquirer.MapKey(key)
        super(RemoteMappingCache, self).Put(key, data_server)
        return data_server
