@Override
		public void run(TaskMonitor monitor) throws CancelledException {
			deactivateBundlesTask.run(monitor);
			monitor.checkCancelled();
			// partition bundles into system (bundles.get(true)) / non-system (bundles.get(false))
			Map<Boolean, List<GhidraBundle>> bundles = statuses.stream()
					.map(bs -> bundleHost.getExistingGhidraBundle(bs.getFile()))
					.collect(Collectors.partitioningBy(GhidraBundle::isSystemBundle));

			List<GhidraBundle> systemBundles = bundles.get(true);
			if (!systemBundles.isEmpty()) {
				StringBuilder buff = new StringBuilder();
				for (GhidraBundle bundle : systemBundles) {
					buff.append(Path.toPathString(bundle.getFile()) + "\n");
				}
				Msg.showWarn(this, BundleStatusComponentProvider.this.getComponent(),
					"Unabled to remove", "System bundles cannot be removed:\n" + buff.toString());
			}
			bundleHost.remove(bundles.get(false));
		}
This is for testing only!  during normal execution, statuses are only added through
BundleHostListener bundle(s) added events.

<p>Each new bundle will be enabled and writable

@param bundleFiles the files to use
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleStatusComponentProvider.java