public override void chunk(Path parent, AttributedList list) { if (_supressed) { return; } try { base.chunk(parent, list); } catch (ListCanceledException e) { if (_controller.Visible) { AtomicBoolean c = new AtomicBoolean(true); AsyncController.AsyncDelegate d = delegate { _controller.CommandBox( string.Format(LocaleFactory.localizedString("Listing directory {0}", "Status"), string.Empty), string.Format(LocaleFactory.localizedString("Listing directory {0}", "Status"), string.Empty), string.Format( LocaleFactory.localizedString("Continue listing directory with more than {0} files.", "Alert"), e.getChunk().size()), string.Format("{0}|{1}", LocaleFactory.localizedString("Continue", "Credentials"), LocaleFactory.localizedString("Cancel")), false, LocaleFactory.localizedString("Always"), TaskDialogIcon.Warning, delegate(int option, bool verificationChecked) { if (option == 0) { _supressed = true; } if (option == 1) { c.SetValue(false); } if (verificationChecked) { _supressed = true; disable(); } }); }; _controller.Invoke(d, true); if (!c.Value) { throw e; } } } }