public void writeOverride(Function func) throws InvalidInputException {
		if (override == null) {
			throw new InvalidInputException("Jumptable is not an override");
		}
		Address[] destlist = override.getDestinations();
		if (destlist.length == 0) {
			throw new InvalidInputException("Jumptable has no destinations");
		}
		if (!func.getBody().contains(opAddress)) {
			throw new InvalidInputException("Switch is not in function body");
		}
		Program program = func.getProgram();
		SymbolTable symtab = program.getSymbolTable();

		Namespace space = HighFunction.findCreateOverrideSpace(func);
		if (space == null) {
			throw new InvalidInputException("Could not create \"override\" namespace");
		}
		space = HighFunction.findCreateNamespace(symtab, space, "jmp_" + opAddress.toString());

		if (!HighFunction.clearNamespace(symtab, space)) {
			throw new InvalidInputException(
				"Jumptable override namespace contains non-label symbols.");
		}

		HighFunction.createLabelSymbol(symtab, opAddress, "switch", space, SourceType.USER_DEFINED,
			false);
		for (int i = 0; i < destlist.length; ++i) {
			String nm = "case_" + Integer.toString(i);
			HighFunction.createLabelSymbol(symtab, destlist[i], nm, space, SourceType.USER_DEFINED,
				false);
		}
	}
Decode a JumpTable object from the stream.
@param decoder is the stream decoder
@throws DecoderException for invalid encodings
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/JumpTable.java