def compile_loaderplugin_entry(self, spec, entry):
        """
        Generic loader plugin entry handler.

        The default implementation assumes that everything up to the
        first '!' symbol resolves to some known loader plugin within
        the registry.

        The registry instance responsible for the resolution of the
        loader plugin handlers must be available in the spec under
        CALMJS_LOADERPLUGIN_REGISTRY
        """

        modname, source, target, modpath = entry
        handler = spec[CALMJS_LOADERPLUGIN_REGISTRY].get(modname)
        if handler:
            return handler(self, spec, modname, source, target, modpath)
        logger.warning(
            "no loaderplugin handler found for plugin entry '%s'", modname)
        return {}, {}, []