@Override public T call() throws Exception { return operation.run(handle); } });
task.run(ph);
@Override public void run() { ProgressHandle handle = ProgressHandleFactory.createHandle(displayName); handle.start(); handle.switchToIndeterminate(); try { ref.set(operation.run(handle)); } finally { handle.finish(); } } }, displayName, new AtomicBoolean(false), true, 0, 0);