protected void initializeLazily() {
		if (panel != null) {
			return;
		}
		if (tool == null) {
			return;
		}
		if (codeFormatService == null) {
			codeFormatService = tool.getService(CodeFormatService.class);
		}
		if (codeFormatService == null) {
			return;
		}

		toolTip = new JToolTip();

		panel = new ListingPanel(codeFormatService.getFormatManager());// share the manager from the code viewer
		panel.setTextBackgroundColor(BACKGROUND_COLOR);

		String name = getName();
		String widthOptionName = name + Options.DELIMITER + "Dialog Width";
		String heightOptionName = name + Options.DELIMITER + "Dialog Height";
		int dialogWidth = options.getInt(widthOptionName, 600);
		int dialogHeight = options.getInt(heightOptionName, 400);
		Dimension d = new Dimension(dialogWidth, dialogHeight);
		panel.setPreferredSize(d);
	}
initializeLazily() should get called to try to get the CodeFormatService and create the panel
the first time we want to use the panel.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/hover/AbstractReferenceHover.java