private void initialize() {
		content.setFitToWidth(true);
		root.setExpanded(true);
		tree.setShowRoot(false);
		tree.setRoot(root);
		tree.getStyleClass().addAll(Tweaks.EDGE_TO_EDGE, Styles.DENSE);
		tree.setCellFactory(param -> new TreeCell<>() {
			@Override
			protected void updateItem(String item, boolean empty) {
				super.updateItem(item, empty);

				if (empty || item == null) {
					textProperty().unbind();
					textProperty().set(null);
					setGraphic(null);
				} else {
					Ikon icon = iconManager.getGroupIcon(item);
					if (icon == null)
						icon = iconManager.getContainerIcon(item);
					setGraphic(new FontIconView(Objects.requireNonNullElse(icon, CarbonIcons.DOT_MARK)));
					textProperty().bind(getBinding(item));
				}
			}
		});
		tree.getSelectionModel().selectedItemProperty().addListener((ob, old, cur) -> {
			if (cur != null) {
				ContainerPane page = idToPage.get(cur.getValue());
				if (page != null) content.setContent(page);
				else content.setContent(new MissingPage(cur.getValue()));
			}
		});

		// Layout
		SplitPane.setResizableWithParent(tree, false);
		getItems().addAll(tree, content);
		setDividerPositions(0.3);
	}
Pane to display all config values.

@author Matt Coley
@see ConfigManager Source of values to pull from.
@see ConfigComponentManager Controls how to represent {@link ConfigValue} instances.
@see ConfigIconManager Controls which icons to show in the tree for {@link ConfigContainer} paths.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/ConfigPane.java