You might want to use GlobalProgressDelayer here to ensure that some progress is shown if the operation takes longer than some threshold (e.g. 500ms)