@Override
  public void flushVariables(@NotNull Predicate<? super @NotNull DfaVariableValue> filter) {
    Set<DfaVariableValue> vars = new HashSet<>();
    for (EqClass aClass : myEqClasses) {
      if (aClass != null) {
        for (DfaVariableValue value : aClass) {
          vars.add(value);
        }
      }
    }
    vars.addAll(myVariableTypes.keySet());
    vars.removeIf(filter.negate());
    vars.forEach(this::flushVariable);
  }
@Override
  public void flushVariables(@NotNull Predicate<? super @NotNull DfaVariableValue> filter)