private Option <List <FileCoverageData> > LoadData(string directory, [NotNull] Func <Dictionary <string, XDocument>, List <FileCoverageData> > generateFunc) { if (generateFunc == null) { throw new ArgumentNullException(nameof(generateFunc)); } var folderFiles = _fileLoader.GetFiles(directory); if (!folderFiles.HasValue) { return(Option <List <FileCoverageData> > .None); } var documents = LoadXDocuments(folderFiles); return(generateFunc(documents)); }