private byte removeFirstAvailableKey() {
		Iterator<Range<Byte>> it = freeKeySet.asRanges().iterator();
		if (!it.hasNext()) {
			return -1;
		}
		Range<Byte> r = it.next();
		it.remove();
		byte nextId = r.lowerEndpoint();
		byte lastId = r.upperEndpoint();
		if (nextId != lastId) {
			freeKeySet.add(Range.closed((byte) (nextId + 1), lastId));
		}
		return nextId;
	}
Remove next available free key value from freeKeySet.
@return the next available key. A negative value indicates that all allowed IDs have 
been used.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/CallingConventionDBAdapterV0.java