void (@NotNull Disposable disposable, int widthInPixels) { if (widthInPixels < 0 || widthInPixels > Short.MAX_VALUE) throw new IllegalArgumentException(); myLeftFreePaintersAreaReserveWidth += widthInPixels; updateSize(); Disposer.register(disposable, () -> { myLeftFreePaintersAreaReserveWidth -= widthInPixels; updateSize(false, true); }); }