private static void ensureInt32u(long value) throws IOException {
		if (value < 0 || value > Integer.MAX_VALUE) {
			throw new InvalidDataException(
				"Value out of range for positive java 32 bit unsigned int: %s"
						.formatted(Long.toUnsignedString(value)));
		}
	}
Reads a LEB128 value from the BinaryReader and returns a {@link LEB128Info} instance
that contains the value along with size and position metadata.

@param reader {@link BinaryReader} to read bytes from
@param isSigned true if the value is signed
@return a {@link LEB128Info} instance with the read LEB128 value with metadata
@throws IOException if an I/O error occurs or value is outside the range of a java
64 bit int
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/LEB128Info.java