private static JComponent getAboutPanel(DomainFile domainFile, Map<String, String> metadata,
			String additionalInfo) {

		JPanel aboutPanel = new JPanel(new PairLayout());
		JScrollPane propertyScroll = new JScrollPane(aboutPanel);

		JPanel contentPanel = new JPanel(new BorderLayout(5, 5));
		contentPanel.add(propertyScroll, BorderLayout.CENTER);
		addInfo(aboutPanel, "Project File Name: ", domainFile.getName());
		long lastModified = domainFile.getLastModifiedTime();
		if (lastModified != 0) {
			addInfo(aboutPanel, "Last Modified:", (new Date(lastModified)).toString());
		}
		addInfo(aboutPanel, "Readonly:", Boolean.toString(domainFile.isReadOnly()));

		Iterator<String> it = metadata.keySet().iterator();
		while (it.hasNext()) {
			String key = it.next();
			String value = metadata.get(key);
			addInfo(aboutPanel, key + ":", value);
		}

		if (additionalInfo != null && additionalInfo.length() > 0) {
			JTextArea auxArea = new JTextArea(additionalInfo);
			Gui.registerFont(auxArea, FONT_ID);
			DockingUtils.setTransparent(auxArea);
			auxArea.setEditable(false);
			auxArea.setCaretPosition(0); // move cursor to BOF...
			JScrollPane sp = new JScrollPane(auxArea);
			sp.setBorder(BorderFactory.createTitledBorder(
				BorderFactory.createLineBorder(Colors.BORDER), "Additional Information"));
			sp.setPreferredSize(new Dimension(1, 175)); //width is ignored by border layout...

			JScrollBar sb = sp.getVerticalScrollBar();
			sb.setBorder(BorderFactory.createEtchedBorder());

			contentPanel.add(sp, BorderLayout.SOUTH);
		}

		JPanel infoPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 10));
		infoPanel.add(
			new GIconLabel(OptionDialog.getIconForMessageType(OptionDialog.INFORMATION_MESSAGE)));

		JPanel panel = new JPanel(new BorderLayout(5, 5));
		panel.add(infoPanel, BorderLayout.WEST);
		panel.add(contentPanel, BorderLayout.CENTER);

		Component[] comps = aboutPanel.getComponents();
		for (Component comp : comps) {
			Gui.registerFont(comp, FONT_ID);
		}
		aboutPanel.invalidate();

		panel.setPreferredSize(new Dimension(800, 800));

		return panel;
	}
Displays an informational dialog about the specified domain object

@param tool			 plugin tool
@param domainFile     domain file to display information about
@param metadata		 the metadata for the domainFile
@param title          title to use for the dialog
@param additionalInfo additional custom user information to append to
                      the bottom of the dialog
@param helpLocation	 the help location
Ghidra/Framework/Project/src/main/java/ghidra/app/plugin/core/help/AboutDomainObjectUtils.java