/// <summary>
 /// Gets matching input files based on globbing patterns and/or absolute paths. If any absolute paths
 /// are provided, only those that actually exist are returned.
 /// </summary>
 /// <param name="fileSystem">The file system.</param>
 /// <param name="patterns">The globbing patterns and/or absolute paths.</param>
 /// <returns>All input files that match the globbing patterns and/or absolute paths.</returns>
 public static IEnumerable <IFile> GetInputFiles(this IReadOnlyFileSystem fileSystem, params string[] patterns)
 {
     _ = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
     return(fileSystem.GetInputFiles((IEnumerable <string>)patterns));
 }