private String getHelpInfo(Object helpObj, HelpLocation helpLoc) {
		if (helpObj == null) {
			return "Help Object is null";
		}

		boolean isHelpDescriptor = false;
		StringBuilder buffy = new StringBuilder();
		buffy.append("HELP OBJECT: " + helpObj.getClass().getName());
		buffy.append("\n");
		if (helpObj instanceof HelpDescriptor) {
			HelpDescriptor helpDescriptor = (HelpDescriptor) helpObj;
			buffy.append(helpDescriptor.getHelpInfo());
			isHelpDescriptor = true;
		}
		else if (helpObj instanceof JButton) {
			JButton button = (JButton) helpObj;
			buffy.append("   BUTTON: " + button.getText());
			buffy.append("\n");
			Component c = button;
			while (c != null && !(c instanceof Window)) {
				c = c.getParent();
			}
			if (c instanceof Dialog) {
				buffy.append("   DIALOG: " + ((Dialog) c).getTitle());
				buffy.append("\n");
			}
			if (c instanceof Frame) {
				buffy.append("   FRAME: " + ((Frame) c).getTitle());
				buffy.append("\n");
			}
		}
		buffy.append("\nHELP-LOCATION-> ");
		if (helpLoc != null) {
			buffy.append(helpLoc.toString());
			String str = helpLoc.getTopic();
			if (str != null) {
				buffy.append("\n   TOPIC:       ");
				buffy.append(str);
			}

			String filename = getFilenameForHelpLocation(helpLoc);
			if (filename != null) { // should never be null
				buffy.append("\n   FILENAME: ");
				buffy.append(filename);
			}

			str = helpLoc.getAnchor();
			if (str != null) {
				buffy.append("\n   ANCHOR:   ");
				buffy.append(str);
			}

			if (!isHelpDescriptor) { // don't put the info in twice
				String inception = helpLoc.getInceptionInformation();
				if (inception != null) {
					buffy.append("\n   \n");
					buffy.append("   CREATED AT: " + inception);
					buffy.append("\n   ");
				}
			}
		}
		else {
			buffy.append("<NO HELP AVAILABLE>");
		}

		return buffy.toString();
	}
Create a new help set for the given url, if one does
not already exist.
@param classLoader the class loader
Ghidra/Framework/Docking/src/main/java/docking/help/HelpManager.java