private void addBundlesViaGUI(File... bundleFiles) throws Exception {
		assertTrue("addBundlesViaGUI called with no arguments", bundleFiles.length > 0);

		DockingActionIf addBundlesAction = getActionByName(bundleStatusProvider, "Add Bundles");
		performAction(addBundlesAction, false);
		waitForSwing();

		List<File> files = List.of(bundleFiles);

		GhidraFileChooser chooser = waitForDialogComponent(GhidraFileChooser.class);
		assertNotNull(chooser);

		runSwing(() -> chooser.setCurrentDirectory(bundleFiles[0]));
		waitForUpdateOnChooser(chooser);

		runSwing(() -> {
			// there is no setFiles method of GhidraFileChooser
			Object selectedFiles = getInstanceField("selectedFiles", chooser);
			invokeInstanceMethod("setFiles", selectedFiles, new Class[] { List.class },
				new Object[] { files });
			Object validatedFiles = getInstanceField("validatedFiles", chooser);
			invokeInstanceMethod("setFiles", validatedFiles, new Class[] { List.class },
				new Object[] { files });
		});
		waitForUpdateOnChooser(chooser);
		testBundleHostListener.reset(bundleFiles.length);
		pressButtonByText(chooser, "OK");
		waitForSwing();
		testBundleHostListener.awaitActivation();
	}
Add a list of bundles with the addBundles dialogue.

<p>All bundles should reside in a common directory.

@param bundleFiles the bundle files
@throws Exception if waitForUpdateOnChooser fails
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/script/BundleStatusManagerTest.java