private void addItems(@NotNull Collection<? extends T> schemes, Predicate<? super T> filter, @Nls String separatorTitle) {
    SeparatorInfo separatorInfo = null;

    for (T scheme : schemes) {
      if (filter.test(scheme)) {
        MySchemeListItem<T> item = new MySchemeListItem<>(scheme);
        ((DefaultComboBoxModel<MySchemeListItem<T>>) getModel()).addElement(item);

        if (separatorInfo == null) {
          separatorInfo = new SeparatorInfo(item, separatorTitle);
        }
      }
    }

    if (separatorInfo != null) mySeparatorInfos.add(separatorInfo);
  }
private void addItems(@NotNull Collection<? extends T> schemes, Predicate<? super T> filter, @Nls String separatorTitle)