'Reconstruct from frozen data.'

def load(self, stream, format):

    if isinstance(format, basestring):
        format = self.formats[format]
    frozen = format.load(stream)
    if (not isinstance(frozen, dict)):
        raise ValueError('old    format')
    index2fn = frozen['filenames']
    self._titles = dict(zip(index2fn, frozen['titles']))
    self._mapping = {}
    for (k, v) in frozen['terms'].iteritems():
        if isinstance(v, int):
            self._mapping[k] = set([index2fn[v]])
        else:
            self._mapping[k] = set((index2fn[i] for i in v))
