@Override
	public boolean filter(PrototypePieces proto, int pos) {
		if (proto.firstVarArgSlot < 0) {
			return false;
		}
		pos -= proto.firstVarArgSlot;
		return (pos >= firstPos && pos <= lastPos);
	}
A filter that selects a range of function parameters that are considered optional.
If the underlying function prototype takes variable arguments, the first n
parameters (as determined by PrototypePieces.firstVarArgSlot) are considered non-optional.
If additional data-types are provided beyond the initial n, these are considered optional.
By default this filter matches on all parameters in a prototype with variable arguments.
Optionally, it can filter on a range of parameters that are specified relative to the
first variable argument.
   {@code <varargs first="0"/>}   - matches optional arguments but not non-optional ones.
   {@code <varargs first="0" last="0"/>}  -  matches the first optional argument.
   {@code <varargs first="-1"/>} - matches the last non-optional argument and all optional ones.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/protorules/VarargsFilter.java