@Override
	protected boolean isEnabledForContext(ListingActionContext context) {
		if (context.hasSelection() || context.getAddress() == null) {
			return false;
		}
		ProgramLocation location = context.getLocation();
		if (plugin.isValidDataLocation(location)) {
			setPopupMenu(plugin.getDataActionMenuName(location), true);
			return true;
		}
		if (location instanceof VariableLocation) {
			setPopupMenu(plugin.getDataActionMenuName(location), false);
			return true;
		}
		return false;
	}
<code>CycleGroupAction</code> cycles data through a series
of data types defined by a <code>CycleGroup</code>.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/CycleGroupAction.java