public static Symbol createSymbolUsingMemoryBlockAsNamespace(Program program, Address address,
			String name, SourceType sourceType)
			throws DuplicateNameException, InvalidInputException {

		SymbolTable symbolTable = program.getSymbolTable();
		Memory memory = program.getMemory();

		MemoryBlock block = memory.getBlock(address);
		String namespaceName = block.getName();

		Namespace namespace = symbolTable.getNamespace(namespaceName, program.getGlobalNamespace());
		if (namespace == null) {
			namespace = symbolTable.createNameSpace(program.getGlobalNamespace(), namespaceName,
				sourceType);
		}

		return symbolTable.createLabel(address, name, namespace, SourceType.ANALYSIS);
	}
Creates a symbol with the given name at the specified address.
The symbol will be created in a name space with the name of
the memory block that contains the address.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/objc2/ObjectiveC2_Utilities.java