public ProgramModule getOrCreateModule(String treeName, String modulePath) throws Exception {
		startTransaction();
		ProgramModule m;
		try {
			ProgramModule rootModule = program.getListing().getRootModule(treeName);
			if (modulePath == null || modulePath.length() == 0) {
				return rootModule;
			}
			String[] modules = modulePath.split("\\.");
			m = rootModule;
			for (String moduleName : modules) {
				m = getOrCreateChildModule(m, moduleName);
			}
		}
		finally {
			endTransaction();
		}

		return m;
	}
Creates a sting data type instance at the specified address, repeated {@code N} times.

@param addressString address.
@param dt {@link AbstractStringDataType} string type to place at address.
@param n repeat count.
Ghidra/Features/Base/src/main/java/ghidra/program/database/ProgramBuilder.java