public static Namespace createNamespaceHierarchy(String namespacePath, Namespace rootNamespace,
			Program program, SourceType source) throws InvalidInputException {
		return createNamespaceHierarchy(namespacePath, rootNamespace, program, null, source);
	}
Takes a namespace path string and creates a namespace hierarchy to
match that string.  This method ignores function namespaces so the path
should not contain any function names.  If you want traverse down through
functions, then use the version that also takes an address that is used to distinguish
between multiple functions with the same name.
<P>
The root namespace can be a function.


@param  namespacePath The namespace name or path string to be parsed.
        This value should not include a trailing symbol name, only namespace names.
@param  rootNamespace The parent namespace under which the desired
        namespace or path resides.  If this value is null, then the
        global namespace will be used. This namespace can be a function name;
@param  program The current program in which the desired namespace
        resides.
@param  source the source type of the namespace
@return The namespace that matches the given path.  This can be either an existing
        namespace or a newly created one.
@throws InvalidInputException If a given namespace name is in an
        invalid format and this method attempts to create that
        namespace, or if the namespace string contains the global
        namespace name in a position other than the root.
@see    <a href="#assumptions">assumptions</a>
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/util/NamespaceUtils.java