private boolean isSupportedDataType(DomainFile file) {
		if (file == null) {
			return false;
		}

		Class<?> c = file.getDomainObjectClass();
		Class<?>[] classes =
			(associatedRunningTool != null) ? associatedRunningTool.getSupportedDataTypes()
					: template.getSupportedDataTypes();
		for (Class<?> element : classes) {
			if (element.isAssignableFrom(c)) {
				return true;
			}
		}
		return false;
	}
Connect the tools in both directions.
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ToolButton.java