Laza, if you use jAlbum's
Work API , then you get multiple advantages for free:
Initial confirmation dialog
Result dialog
Abortable popup progress indicator if work takes more than 500ms to complete (configurable)
Error reporting
Grouped undo/redo (if underlying work is undoable)
Parallel processing through the Streams API