public int fairSelectNextIndex(long availableInputsMask, int lastReadInputIndex) {
        return fairSelectNextIndex(inputMask, availableInputsMask, lastReadInputIndex);
    }
@Test
    void testFairSelectNextIndexWithAllInputsSelected() {
        assertThat(InputSelection.ALL.fairSelectNextIndex(7, 0)).isOne();
        assertThat(InputSelection.ALL.fairSelectNextIndex(7, 1)).isEqualTo(2);
        assertThat(InputSelection.ALL.fairSelectNextIndex(7, 2)).isZero();
        assertThat(InputSelection.ALL.fairSelectNextIndex(7, 0)).isOne();
        assertThat(InputSelection.ALL.fairSelectNextIndex(0, 2))
                .isEqualTo(InputSelection.NONE_AVAILABLE);

        assertThat(InputSelection.ALL.fairSelectNextIndex(-1, 10)).isEqualTo(11);
        assertThat(InputSelection.ALL.fairSelectNextIndex(-1, 63)).isZero();
        assertThat(InputSelection.ALL.fairSelectNextIndex(-1, 158)).isZero();
    }