public static long parseBoundedLong(String longStr, long minValue, long maxValue)
			throws NumberFormatException {
		if (longStr == null || longStr.isEmpty()) {
			throw new NumberFormatException("Missing value");
		}
		long tmp = parseLong(longStr);
		if (tmp < minValue || tmp > maxValue) {
			throw new NumberFormatException(
				"Long value " + tmp + " out of range: [" + minValue + ".." + maxValue + "]");
		}
		return tmp;
	}
Parses the specified string as a decimal number, returning its long
integer value.
<p>
Note, using {@link Long#MIN_VALUE} and/or {@link Long#MAX_VALUE} as lower
and upper bounds is problematic and should be avoided as the range check
will become a NO-OP and always succeed.

@param longStr String with integer digits
@param minValue minimum value allowed (inclusive)
@param maxValue maximum value allowed (inclusive)
@return long integer value of the longStr
@throws NumberFormatException if intStr is null or empty or could not be
            parsed or is out of range.
Ghidra/Framework/Generic/src/main/java/ghidra/util/xml/XmlUtilities.java