private int parseSparseColumnIndexes(byte[] encodedFieldTypes, int index)
			throws UnsupportedFieldException {
		try {
			int consumed = 0;
			ArrayList<Integer> columnIndexes = new ArrayList<>();
			while (index < encodedFieldTypes.length &&
				encodedFieldTypes[index] != FIELD_EXTENSION_INDICATOR) {
				columnIndexes.add((int) encodedFieldTypes[index++]);
				++consumed;
			}
			Integer[] sparseColumns = columnIndexes.toArray(new Integer[columnIndexes.size()]);
			initializeSparseColumnSet(sparseColumns);
			return consumed;
		}
		catch (IndexOutOfBoundsException e) {
			throw new UnsupportedFieldException("Incomplete sparse column data");
		}
	}
Parse the sparse column indexes contained within the encodedFieldTypes data
@param encodedFieldTypes encoded data bytes
@param index of first extension data byte within encodedFieldTypes array
@return number of encoded data bytes consumed
Ghidra/Framework/DB/src/main/java/db/Schema.java