catch (JBIException e) { log.error("Could not initialize : " + descriptor.getBootstrapClassName(), e); throw new DeploymentException(e); }
    protected void createBootstrap() throws DeploymentException {        if (bootstrap != null) {            return;        }        ClassLoader oldCl = Thread.currentThread().getContextClassLoader();        org.apache.servicemix.jbi.deployment.Component descriptor = context.getDescriptor();        try {            ClassLoader cl = buildClassLoader(                                    context.getInstallRootAsDir(),                                    descriptor.getBootstrapClassPath().getPathElements(),                                    descriptor.isBootstrapClassLoaderDelegationParentFirst(),                                    null);            Thread.currentThread().setContextClassLoader(cl);            Class bootstrapClass = cl.loadClass(descriptor.getBootstrapClassName());            this.bootstrap = (Bootstrap) bootstrapClass.newInstance();            this.bootstrap.init(this.context);        }        catch (MalformedURLException e) {            log.error("Could not create class loader", e);            throw new DeploymentException(e);        }        catch (ClassNotFoundException e) {            log.error("Class not found: " + descriptor.getBootstrapClassName(), e);            throw new DeploymentException(e);        }        catch (InstantiationException e) {            log.error("Could not instantiate : " + descriptor.getBootstrapClassName(), e);            throw new DeploymentException(e);        }        catch (IllegalAccessException e) {            log.error("Illegal access on: " + descriptor.getBootstrapClassName(), e);            throw new DeploymentException(e);        }        catch (JBIException e) {            log.error("Could not initialize : " + descriptor.getBootstrapClassName(), e);            throw new DeploymentException(e);        }         finally {            Thread.currentThread().setContextClassLoader(oldCl);        }    }