### Godot version

v4.0.beta17.mono.official [c40020513]

### System information

Window 11, Forward+, GTX 1060

### Issue description

Adding two theme variations in a row result to a  crash.

https://user-images.githubusercontent.com/93253123/217037249-1ce1d56d-beb6-4435-83ad-9f8a07fe0e96.mp4



### Steps to reproduce

1. Create a project.
2. Create a theme.
3. Double click to go in the theme editor.
4. Click on manage items buttons.
5. In the add type field type a name to add a type.
6. type another name to add a second type.
7. Crash.

### Minimal reproduction project

[ThemeVariationCrash.zip](https://github.com/godotengine/godot/files/10665863/ThemeVariationCrash.zip)

if (category->icon.is_null() && has_theme_icon(base_type, SNAME("EditorIcons"))) {
					category->icon = get_theme_icon(base_type, SNAME("EditorIcons"));
				}
			}
			if (category->icon.is_null()) {
				if (!type.is_empty()) { 
					category->icon = EditorNode::get_singleton()->get_class_icon(type, "Object");
				}
			}
			
			category->label = label;
			if (use_doc_hints) {
				
				if (!class_descr_cache.has(doc_name)) {
					String descr;
					DocTools *dd = EditorHelp::get_doc_data();
					HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(doc_name);
					if (E) {
						descr = DTR(E->value.brief_description);
					}
					class_descr_cache[doc_name] = descr;
				}
				category->set_tooltip_text(p.name + "::" + (class_descr_cache[doc_name].is_empty() ? "" : class_descr_cache[doc_name]));
			}
			
			for (Ref<EditorInspectorPlugin> &ped : valid_plugins) {
				ped->parse_category(object, p.name);
				_parse_added_editors(main_vbox, nullptr, ped);
			}
			continue;