internal virtual bool Analyze([NotNull] DirectoryInfo baseDirectory, [NotNull] FileInfo file) { #region Sanity checks if (baseDirectory == null) throw new ArgumentNullException(nameof(baseDirectory)); if (file == null) throw new ArgumentNullException(nameof(file)); #endregion BaseDirectory = baseDirectory; RelativePath = file.RelativeTo(BaseDirectory); return true; }