public int report(IProgressReport progressReport) { if (true == isAutoRemove && false == progressReport.isActive() && !progressReport.isInErrorState()) { if (null != panel && false == panel.isDisposed()) { ProgressReportingManager.getInstance().remove(panel.getProgressReporter()); Utils.execSWTThread( new AERunnable() { public void runSupport() { panel.dispose(); } }); } return RETVAL_OK_TO_DISPOSE; } return RETVAL_OK; }