void () { Item selection = getSelection(); if (selection != null && isMatching(selection)) return; JBIterator<Item> it = JBIterator.from(iterate(selection, true, true)) .filter(item -> item != selection && isMatching(item)); if (!it.advance()) return; select(it.current()); }