private MapSymbol parseMapSymbol(String line, int lineNumber) throws ParseException {
		String[] parts = line.split("\\s+", 4);
		if (parts.length < 3) {
			throw new ParseException(
				"Line %d has less than 3 fields (%d)".formatted(lineNumber, parts.length),
				lineNumber);
		}

		try {
			return new MapSymbol(parts[1], Long.parseLong(parts[2], 16));
		}
		catch (NumberFormatException e) {
			throw new ParseException(
				"Line %d address '%s' could not be converted to a number".formatted(lineNumber,
					parts[2]),
				lineNumber);
		}
	}
Parses a new {@link MapSymbol} from the given MAP file line

@param line The line to parse
@param lineNumber The line number of the line to parse
@return The parsed {@link MapSymbol}
@throws ParseException if there was an issue parsing
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/MapLoader.java