protected void postProcessBundleContext(BundleContext context) throws Exception {
    logger.debug("Post processing: creating test bundle");

    Resource jar;

    Manifest mf = getManifest();

    // if the jar content hasn't been discovered yet (while creating the manifest)
    // do so now
    if (jarEntries == null) {
      // set root path
      jarCreator.setRootPath(getRootPath());
      // add the content pattern
      jarCreator.setContentPattern(getBundleContentPattern());

      // use jar creator for pattern discovery
      jar = jarCreator.createJar(mf);
    }

    // otherwise use the cached resources
    else {
      jar = jarCreator.createJar(mf, jarEntries);
    }

    try {
      installAndStartBundle(context, jar);
    } catch (Exception e) {
      IllegalStateException ise =
          new IllegalStateException("Unable to dynamically start generated unit test bundle");
      ise.initCause(e);
      throw ise;
    }

    // now do the delegation
    super.postProcessBundleContext(context);
  }