int (int index, int lead) { int size = myListModel.getSize(); if (index < 0 || size <= index) return -1; // iterate through the first part of the available items int found = findSelectableIndexInModel(index, index < lead ? -1 : size); if (found >= 0) return found; // iterate through the second part of the available items UISettings settings = UISettings.getInstanceOrNull(); return settings != null && settings.getCycleScrolling() && 1 == Math.abs(index - lead) ? findSelectableIndexInModel(index < lead ? size - 1 : 0, index) : findSelectableIndexInModel(index, lead < -1 ? -1 : Math.min(lead, size)); }