protected boolean toggleChanges(@NotNull Collection<?> changes) {
    boolean hasExcluded = false;
    for (Object item : changes) {
      if (getInclusionModel().getInclusionState(item) != State.SELECTED) {
        hasExcluded = true;
        break;
      }
    }

    if (hasExcluded) {
      includeChanges(changes);
      return false;
    }
    else {
      excludeChanges(changes);
      return true;
    }
  }
protected boolean toggleChanges(@NotNull Collection<?> changes)