public static Symbol createSymbolIfNeeded(Program program, String symbolPrefix,
			Address symbolAddress) throws InvalidInputException {
		SymbolTable symbolTable = program.getSymbolTable();
		Symbol primarySymbol = symbolTable.getPrimarySymbol(symbolAddress);
		if (primarySymbol != null && primarySymbol.getSource() != SourceType.DEFAULT) {
			return null; // Not needed. Non-default symbol already there.
		}
		String addressAppendedName =
			SymbolUtilities.getAddressAppendedName(symbolPrefix, symbolAddress);
		return symbolTable.createLabel(symbolAddress, addressAppendedName, SourceType.ANALYSIS);
	}
Creates a symbol if it doesn't already exist at the specified address in the program
by adding an underscore and the address to the symbolPrefix string that is passed to it.
@param program the program.
@param symbolPrefix the symbol prefix to be used in the symbol name.
@param symbolAddress the address where the symbol should be created in the program.
@return the symbol or null.
@throws InvalidInputException thrown if symbol can't be created as specified.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/EHDataTypeUtilities.java