void Report(object sender, ProgressChangedEventArgs a) { reporter.Report(a.UserState as Tuple <String, String, double, double>); }