public final Namespace createNamespace(Namespace parent, String namespaceName)
			throws DuplicateNameException, InvalidInputException {
		SymbolTable symbolTable = currentProgram.getSymbolTable();
		Namespace ns = symbolTable.getNamespace(namespaceName, parent);
		if (ns != null) {
			SymbolType type = ns.getSymbol().getSymbolType();
			if (type == SymbolType.NAMESPACE || type == SymbolType.CLASS) {
				return ns;
			}
		}
		return symbolTable.createNameSpace(parent, namespaceName, SourceType.USER_DEFINED);
	}
Creates a new {@link Namespace} with the given name contained inside the
specified parent namespace.
Pass <code>null</code> for parent to indicate the global namespace.
If a {@link Namespace} or {@link GhidraClass} with the given name already exists, the
existing one will be returned.
@param parent the parent namespace, or null for global namespace
@param namespaceName the requested namespace's name
@return the namespace with the given name
@throws DuplicateNameException if a {@link Library} symbol exists with the given name
@throws InvalidInputException if the name is invalid
@throws IllegalArgumentException if parent Namespace does not correspond to
<code>currerntProgram</code>
Ghidra/Features/Base/src/main/java/ghidra/program/flatapi/FlatProgramAPI.java