private void initializeOptions() {
		ToolOptions options = tool.getOptions(GhidraOptions.CATEGORY_FLOW_OPTIONS);
		HelpLocation help = new HelpLocation(HelpTopics.SELECTION, "SelectByFlowOptions");
		options.setOptionsHelpLocation(help);

		options.registerOption(GhidraOptions.OPTION_FOLLOW_COMPUTED_CALL, false, help,
			"When a computed call is encountered, determines whether to go to the call's "
				+ "destination and select by flow there too.");

		options.registerOption(GhidraOptions.OPTION_FOLLOW_CONDITIONAL_CALL, false, help,
			"When a conditional call is encountered, determines whether to go to the call's "
				+ "destination and select by flow there too.");

		options.registerOption(GhidraOptions.OPTION_FOLLOW_UNCONDITIONAL_CALL, false, help,
			"When an unconditional call is encountered, determines whether to go to the "
				+ "call's destination and select by flow there too.");

		options.registerOption(GhidraOptions.OPTION_FOLLOW_COMPUTED_JUMP, false, help,
			"When a computed jump is encountered, determines whether to go to the jump's "
				+ "destination and select by flow there too.");

		options.registerOption(GhidraOptions.OPTION_FOLLOW_CONDITIONAL_JUMP, true, help,
			"When a conditional jump is encountered, determines whether to go to the jump's "
				+ "destination and select by flow there too.");

		options.registerOption(GhidraOptions.OPTION_FOLLOW_UNCONDITIONAL_JUMP, true, help,
			"When an unconditional jump is encountered, determines whether to go to the "
				+ "jump's destination and select by flow there too.");

		options.registerOption(GhidraOptions.OPTION_FOLLOW_POINTERS, false, help,
			"When a pointer is encountered, determines whether to go to the address being "
				+ "pointed to and select by flow there too.");

		setOptions(options);
		options.addOptionsChangeListener(this);
	}
The SelectByFlowPlugin adds selection of code based on program flow to a
tool. Selection is based on the initial selection or if there is no selection
then on where the cursor is located in the program.<BR>
This plugin provides the following types of selection:<BR>
<ul>
<li>Select by following the flow from the specified address(es) onward.
Properties indicate whether or not CALLS or JUMPS should be followed.</li>
<li>Select the subroutine(s) for the specified address(es).</li>
<li>Select the function(s) for the specified address(es).</li>
<li>Select dead subroutine(s) for the specified address(es).</li>
<li>Select the current program changes.</li>
<li>Select by following the flow to the specified address(es).
Properties indicate whether or not CALLS or JUMPS should be followed.</li>
</UL>
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/select/flow/SelectByFlowPlugin.java