@Override
  public void setInBulkUpdate(boolean value) {
    if (myAssertThreading) {
      ApplicationManager.getApplication().assertWriteIntentLockAcquired();
    }
    if (myUpdatingBulkModeStatus) {
      throw new IllegalStateException("Detected bulk mode status update from DocumentBulkUpdateListener");
    }
    if (myDoingBulkUpdate == value) {
      return;
    }
    myUpdatingBulkModeStatus = true;
    try {
      if (value) {
        getPublisher().updateStarted(this);
        notifyListenersOnBulkModeStarting();
        myBulkUpdateEnteringTrace = new Throwable();
        myDoingBulkUpdate = true;
      }
      else {
        myDoingBulkUpdate = false;
        myBulkUpdateEnteringTrace = null;
        notifyListenersOnBulkModeFinished();
        getPublisher().updateFinished(this);
      }
    }
    finally {
      myUpdatingBulkModeStatus = false;
    }
  }
@Override
  public void setInBulkUpdate(boolean value)