@Override
		protected void parseInternal() throws MDException {

			if ((dmang.peek() != '?') || (dmang.peek(1) != '@')) {
				throw new MDException("Invalid HashedObject");
			}
			dmang.increment(2);

			StringBuilder builder = new StringBuilder();
			char ch;
			int start = dmang.getIndex();
			while ((ch = dmang.peek()) != MDMang.DONE) {
				if (ch == '@') {
					break;
				}
				if (!(Character.isLetter(ch) || Character.isDigit(ch))) {
					break;
				}
				builder.append(ch);
				dmang.increment();
			}
			int end = dmang.getIndex();
			if ((end - start) != 32 || ch != '@') {
				throw new MDException("Invalid HashedObject");
			}
			dmang.increment();
			hashString = builder.toString();
		}
Returns an empty {@link MDQualification} that represents the namespace of the symbol.
 Note: we have yet to decide whether we should do anything but this.
@return the namespace information (empty for now).
Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/object/MDObjectCPP.java