This examples plug-in demonstrates the following features: 1. deferred tree/table population - serialized children fetch jobs or concurrent - batching updates to the collector - (optional) different ways of showing progress replacing current pending node (e.g. changing parent's label / image) 2. progress view - cancellation - showing progress, sub tasks - showing errors - progress groups - appearing/disapearing as floating window - system jobs aren't shown 3. requestInUI - post a request - post a request then cancel before user has launched it - post a request, cancel, and replace with another - post a request and allow the user to cancel without running the request 4. blocked foreground operation - run a background job that locks the workspace - run a foreground job that requires workspace (expect blocked dialog with progress view embeded) - open an editor and type then save (progress dialog should show blocked) 5. workbench part support for progress - run a job in the context of a view/editor - get busy cursor plus animating something - view or editor adding their own custom behavior when job is run 6. Creating progress groups - that are run serialized - that are run concurrently - cancel one sub job - parent is updated correctly 7. running action via busyCursorWhile