def install(self, plugin):
        if hasattr(plugin, 'setup'): plugin.setup(self)
        if not callable(plugin) and not hasattr(plugin, 'apply'):
            raise TypeError("Plugins must be callable or implement .apply()")
        self.plugins.append(plugin)
        self.reset()
        return plugin
Generates a Folder ID from index.
dataset/ETHPy150Open adampresley/bottlepy-bootstrap/app/bottle.py/Bottle.install--crossover with--dataset/ETHPy150Open byt3bl33d3r/pth-toolkit/lib/python2.7/site-packages/openchange/mailbox.py/gen_mailbox_folder_fid