@Override
	public void setNamespace(Namespace newNamespace)
			throws DuplicateNameException, InvalidInputException, CircularDependencyException {
		// TODO: Why InvalidInputException?
		assertNotGlobal();
		try (LockHold hold = LockHold.lock(manager.lock.writeLock())) {
			DBTraceNamespaceSymbol dbnsParent = manager.assertIsMine(newNamespace);
			validateNameAndParent(getName(), dbnsParent);
			TraceChangeRecord<?, ?> parentEvent = doSetParent(dbnsParent);
			if (parentEvent != null) {
				update(PARENT_COLUMN);
				manager.trace.setChanged(parentEvent);
			}
		}
	}
Sets the flags for the given source.

The caller must still call {@link #update(DBObjectColumn...)} for {@link #FLAGS_COLUMN}. The
update should be called before the returned event, if applicable, is fired.

@param newSource the source type
@return the appropriate change event, if a change was actually made
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/symbol/AbstractDBTraceSymbol.java