private Color maybeUpdateUserDefinedColor() {
		FunctionGraphOptions options = controller.getFunctionGraphOptions();
		if (!options.getUpdateGroupColorsAutomatically()) {
			return null;
		}

		//
		// We want to updated the user defined color value if and only if all grouped vertices
		// share the same non-default color.
		//
		Set<FGVertex> vertices = groupVertex.getVertices();
		Color lastColor = null;
		for (FGVertex groupedVertex : vertices) {
			Color currentVertexBackgroundColor = groupedVertex.getBackgroundColor();
			if (lastColor == null) {
				lastColor = currentVertexBackgroundColor;
			}

			Color defaultVertexBackgroundColor = groupedVertex.getDefaultBackgroundColor();
			if (currentVertexBackgroundColor.equals(defaultVertexBackgroundColor)) {
				// if any of the grouped vertices have a default background color, then we will
				// the group as a whole must not share a user defined color
				return null;
			}

			if (!currentVertexBackgroundColor.equals(lastColor)) {
				// we've found a differing user-defined color
				return null;
			}
		}
		return lastColor;
	}
A bit of a hack that triggers the text area to update its preferred height now before we
render so that it doesn't change later.
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/graph/vertex/GroupedFunctionGraphComponentPanel.java