@Test
	public void testVxTableAnonymousNsInOwnerAndBackref() throws Exception {
		String mangled = "??_7a@?A0xfedcba98@b@@6B012@01@@";
		String truth =
			"const b::`anonymous namespace'::a::`vftable'{for `b::A0xfedcba98::a's `A0xfedcba98::a'}";
		String truth2 =
			"const b::_anon_FEDCBA98::a::`vftable'{for `b::_anon_FEDCBA98::a's `_anon_FEDCBA98::a'}";

		MDMangGhidra demangler = new MDMangGhidra();
		demangler.setMangledSymbol(mangled);
		demangler.setErrorOnRemainingChars(true);
		demangler.setDemangleOnlyKnownPatterns(true);
		MDParsableItem item = demangler.demangle();

		MDObjectCPP cppItem = (MDObjectCPP) item;
		MDVxTable vxTable = (MDVxTable) cppItem.getTypeInfo();
		List<MDQualification> qualifications = vxTable.getNestedQualifications();
		assertEquals(2, qualifications.size());

		String demangled = item.toString();
		assertEquals(truth, demangled);
		assertEquals("b::A0xfedcba98::a", qualifications.get(0).toString());
		assertEquals("A0xfedcba98::a", qualifications.get(1).toString());

		demangler.getOutputOptions().setUseEncodedAnonymousNamespace(true);
		demangled = item.toString();
		assertEquals(truth2, demangled);
		assertEquals("b::_anon_FEDCBA98::a", qualifications.get(0).toString());
		assertEquals("_anon_FEDCBA98::a", qualifications.get(1).toString());
	}
This class performs extra demangler testing for special cases that do not fit
the testing pattern found in MDMangBaseTest and its derived test classes.
Ghidra/Features/MicrosoftDmang/src/test/java/mdemangler/MDMangExtraTest.java