@Override
		public boolean isValidParent(Program program, Namespace parent, Address symbolAddr,
				boolean isExternalSymbol) {
			boolean externalParent = parent.isExternal();
			if (symbolAddr.isExternalAddress() != externalParent) {
				return false;
			}
			if (parent.getID() != Namespace.GLOBAL_NAMESPACE_ID &&
				program != parent.getSymbol().getProgram()) {
				return false;
			}
			// CODE symbol may not have an external function parent
			return !(parent instanceof Function) || !externalParent;
		}
Class to represent the various types of Symbols.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolType.java