void performAtomicChange(@NotNull Runnable change) {
    ThreadingAssertions.assertWriteAccess();

    boolean oldValue = isBulkChange;
    isBulkChange = true;
    try {
      change.run();
    }
    finally {
      isBulkChange = oldValue;
      if (!oldValue) {
        clearCache();
      }
    }

    if (!isInsideAtomicChange()) {
      clearCache();
    }
  }
void performAtomicChange(@NotNull Runnable change)