@Override
  public @NotNull Iterator<DfaVariableValue> iterator() {
    return new Iterator<>() {
      int pos;

      @Override
      public boolean hasNext() {
        return pos < size();
      }

      @Override
      public DfaVariableValue next() {
        if (pos >= size()) throw new NoSuchElementException();
        return (DfaVariableValue)myFactory.getValue(get(pos++));
      }
    };
  }
@Override
  public @NotNull Iterator<DfaVariableValue> iterator()