private void rebuildLists() {
    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;
        }
      }
    }
  }
private void rebuildLists()