### 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)

case Theme::DATA_TYPE_MAX:
						break; 
				}
			}
			new_snapshot->set_theme_item(ti.data_type, ti.item_name, ti.type_name, item_value);
		}
		idx++;
	}
	
	ProgressDialog::get_singleton()->task_step("import_theme_items", TTR("Updating the editor"), idx++);
	
	ProgressDialog::get_singleton()->task_step("import_theme_items", TTR("Finalizing"), idx++);
	ProgressDialog::get_singleton()->end_task("import_theme_items");
	EditorUndoRedoManager *ur = EditorUndoRedoManager::get_singleton();
	ur->create_action(TTR("Import Theme Items"));
	ur->add_do_method(*edited_theme, "clear");
	ur->add_do_method(*edited_theme, "merge_with", new_snapshot);
	ur->add_undo_method(*edited_theme, "clear");
	ur->add_undo_method(*edited_theme, "merge_with", old_snapshot);
	ur->add_do_method(this, "emit_signal", SNAME("items_imported"));
	ur->add_undo_method(this, "emit_signal", SNAME("items_imported"));
	ur->commit_action();
}
void ThemeItemImportTree::set_edited_theme(const Ref<Theme> &p_theme) {
	edited_theme = p_theme;
}
void ThemeItemImportTree::set_base_theme(const Ref<Theme> &p_theme) {
	base_theme = p_theme;
}
void ThemeItemImportTree::reset_item_tree() {