public void checkout(DomainFileNode node, boolean exclusive) throws Exception {

		// TODO should not need this
		selectNodes(node);
		final DockingActionIf action = getAction("CheckOut");
		AbstractDockingTest.performAction(action, getDomainFileActionContext(node), false);
		waitForSwing();

		CheckoutDialog dialog = AbstractDockingTest.getDialogComponent(CheckoutDialog.class);
		if (dialog == null) {
			return; // a single checkout does not trigger a dialog
		}

		if (exclusive) {
			JCheckBox cb = AbstractDockingTest.findComponent(dialog, JCheckBox.class);
			assertNotNull(cb);
			assertEquals("Request exclusive checkout", cb.getText());
			runSwing(() -> cb.setSelected(true));
		}

		JButton okButton =
			(JButton) AbstractGuiTest.findAbstractButtonByText(dialog.getComponent(), "OK");
		assertNotNull(okButton);
		AbstractGuiTest.pressButton(okButton);
		waitForTasks();
		DomainFile df = node.getDomainFile();

		AbstractGTest.waitForCondition(() -> df.isCheckedOut());
		waitForTasks();
		waitForTree();
	}
Returns the default program node named {@link #PROGRAM_A}
@return the default program node named {@link #PROGRAM_A}
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/test/FrontEndTestEnv.java