private void populateReadOnlyViews(Project project) {
//		readOnlyTab.setBorder(BorderFactory.createTitledBorder(READ_ONLY_BORDER));

		if (project == null) {
			setViewsVisible(false);
			return;
		}
		ProjectLocator[] views = project.getProjectViews();
		HelpLocation helpLocation =
			new HelpLocation(frontEndPlugin.getName(), "ReadOnlyProjectDataPanel");
		for (ProjectLocator view : views) {
			try {
				ProjectData projectData = project.getProjectData(view);
				ProjectLocator projectLocator = projectData.getProjectLocator();
				String viewName = projectLocator.getName();
				final ProjectDataTreePanel dtp =
					new ProjectDataTreePanel(viewName, false, frontEndPlugin, null); //not active,  no filter

				dtp.setProjectData(viewName, projectData);
				dtp.setHelpLocation(helpLocation);

				readOnlyTab.addTab(viewName, dtp);
				int index = readOnlyTab.indexOfComponent(dtp);
				readOnlyTab.setTabComponentAt(index, new DockingTabRenderer(readOnlyTab, viewName,
					viewName, e -> viewRemoved(dtp, getProjectURL(dtp), true)));
				readOnlyViews.put(view, dtp);
			}
			catch (Exception e) {
				Msg.showError(this, null, "Error", "Cannot restore project view", e);
			}
		}

		// update the close views menu and set the views pane visible
		// if we have open views
		setViewsVisible(views.length > 0);
	}
Populates the project views data tree panel(s) whenever a project is
made active.
If no project views are open, the tabbed pane is not visible.
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ProjectDataPanel.java