void () { myFilteredList.clear(); mySeparators.clear(); myIndices.clear(); myFullMatchIndex = -1; myStartsWithIndex = -1; ListSeparator lastSeparator = null; for (int i = 0; i < myOriginalList.size(); i++) { T each = myOriginalList.get(i); lastSeparator = ObjectUtils.chooseNotNull(myStep.getSeparatorAbove(each), lastSeparator); if (myFilter.shouldBeShowing(each)) { addToFiltered(each); myIndices.add(i); if (lastSeparator != null) { mySeparators.put(each, lastSeparator); lastSeparator = null; } } } }