}  try { AccessController.doPrivileged(new PrivilegedExceptionAction() { public Object run() throws PluginException { resolve(registry); final int reqMax = requires.length; for (int i = 0; i < reqMax; i++) { final String reqId = requires[i].getPluginId();  final PluginDescriptorModel reqDescr = (PluginDescriptorModel) registry .getPluginDescriptor(reqId); reqDescr.startPlugin(registry);
try { AccessController.doPrivileged(new PrivilegedExceptionAction() { public Object run() throws PluginException { resolve(registry); final int reqMax = requires.length; for (int i = 0; i < reqMax; i++) { final String reqId = requires[i].getPluginId();  final PluginDescriptorModel reqDescr = (PluginDescriptorModel) registry .getPluginDescriptor(reqId); reqDescr.startPlugin(registry); }  getPlugin().start(); return null;
    final void startPlugin(final PluginRegistryModel registry)            throws PluginException {        if (started) {            return;        }        synchronized (this) {            if (started || starting) {                return;            }            starting = true;        }        // BootLog.info("Resolve on plugin " + getId());        try {            AccessController.doPrivileged(new PrivilegedExceptionAction() {                public Object run() throws PluginException {                    resolve(registry);                    final int reqMax = requires.length;                    for (int i = 0; i < reqMax; i++) {                        final String reqId = requires[i].getPluginId();                        // BootLog.info("Start dependency " + reqId);                        final PluginDescriptorModel reqDescr = (PluginDescriptorModel) registry                        .getPluginDescriptor(reqId);                        reqDescr.startPlugin(registry);                    }                    // BootLog.info("Start myself " + getId());                    getPlugin().start();                    return null;                }            });        } catch (PrivilegedActionException ex) {            BootLog.error("Error starting plugin", ex);            try {                Thread.sleep(10000);            } catch (InterruptedException ex1) {                // Ignore            }        } finally {            started = true;        }    }