void onCustomFoldRegionPropertiesChange(@NotNull CustomFoldRegion foldRegion, int flags) {
    for (FoldingListener listener : myListeners) {
      listener.onCustomFoldRegionPropertiesChange(foldRegion, flags);
    }
    boolean widthChanged = (flags & FoldingListener.ChangeFlags.WIDTH_CHANGED) != 0;
    boolean heightChanged = (flags & FoldingListener.ChangeFlags.HEIGHT_CHANGED) != 0;
    boolean gutterMarkChanged = (flags & FoldingListener.ChangeFlags.GUTTER_ICON_PROVIDER_CHANGED) != 0;
    if (myIsBatchFoldingProcessing) {
      myRegionWidthChanged |= widthChanged;
      myRegionHeightChanged |= heightChanged;
      myGutterRendererChanged |= gutterMarkChanged;
    }
    else {
      update(widthChanged, heightChanged, gutterMarkChanged, false);
    }
  }
void onCustomFoldRegionPropertiesChange(@NotNull CustomFoldRegion foldRegion, int flags)