def __getitem__(self, key):
        if key in self._cache:
            return self._cache[key]
        try:
            instance = self._dict[key]
        except __HOLE__:
            ctrl = self.ctrl()
            candidates = []
            for sectionname, section in ctrl.config.items():
                if key in section:
                    candidates.append("    %s:%s" % (sectionname, key))
            if candidates:
                log.error("Instance '%s' not found. Did you forget to install a plugin? The following sections might match:\n%s" % (
                    key, "\n".join(candidates)))
            raise
        get_massagers = getattr(instance, 'get_massagers', lambda: [])
        for massager in get_massagers():
            instance.config.add_massager(massager)
        for plugin in self.plugins.values():
            if 'augment_instance' not in plugin:
                continue
            plugin['augment_instance'](instance)
        self._cache[key] = instance
        return instance
dataset/ETHPy150Open ployground/ploy/ploy/__init__.py/LazyInstanceDict.__getitem__