public int readNextUnsignedVarIntExact(ReaderFunction<Long> func)
			throws IOException, InvalidDataException {
		long value = func.get(this);
		ensureInt32u(value);
		return (int) value;
	}
Reads a variable length / unknown format unsigned integer from the current position, using
the supplied reader function, returning it (if it fits) as a 32 bit java integer.

@param func {@link ReaderFunction}
@return unsigned int32
@throws IOException if error reading data
@throws InvalidDataException if value can not be held in a java integer
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/BinaryReader.java