private Triple <String[], String[], String[]> LoadOptimizer(String fileName) { __bwLoad.ReportProgress(-1, "Loading"); _opt = new PackageOptimizer(__fileName.Text); List <String> messages = _opt.LoadAndValidate(); String[] missing = new String[0], unreferenced = new String[0]; __bwLoad.ReportProgress(-1, "Loading Missing and Unreferenced Files"); if (messages.Count > 0) { return(new Triple <String[], String[], String[]>(messages.ToArray(), missing, unreferenced)); } ///////////////////////// // Missing and Unreferenced Files _opt.GetFiles(out missing, out unreferenced); ///////////////////////// // Duplicate Files __bwLoad.ReportProgress(-1, "Loading Duplicate Files"); DuplicateFinder finder = _opt.GetDuplicateFilesFinder(); finder.StatusUpdated += new EventHandler(finder_StatusUpdated); finder.Search(); return(new Triple <String[], String[], String[]>(messages.ToArray(), missing, unreferenced)); }