code: private void createExtension(Bundle bundle) {
  		try {
  			BundleContext context = bundle.getBundleContext();
  			if (context == null) {
  				// The bundle has been stopped in the mean time
  				return;
  			}
  			final Extension extension = doCreateExtension(bundle);
  			if (extension == null) {
  				// This bundle is not to be extended
  				return;
  			}
  			synchronized (extensions) {
  				if (extensions.putIfAbsent(bundle, extension) != null) {
  					return;
  				}
  			}
  			if (synchronous) {
  				logger.debug("Starting extension for bundle {} synchronously",
  						bundle.getSymbolicName());
  				extension.start();
  			} else {
  				logger.debug(
  						"Scheduling start of extension for bundle {} asynchronously",
  						bundle.getSymbolicName());
  				getExecutors().submit(() -> extension.start());
  			}
  		} catch (Throwable t) {
  			logger.warn("Error while creating extension for bundle " + bundle,
  					t);
  		}
  	}
docs: CHECKSTYLE:OFF