@Override
      public void dispose() {
        if (flag.get() != toAssert) {
          throw new IllegalStateException("Non-nested assertion flag modifications");
        }
        flag.set(prev);
      }
@Override
      public void dispose()