File.TreeSourceA lazy tree structure mirroring the filesystem ; uses the comparison from File, so paths are case-insensitive.
Contents of a directory, lazily loaded. The map keys are the basenames of the files and subdirectories, while the values contain the original path (with correct capitalisation)
Lazily builds a Tree.path from the files read at path. The names in the maps are qualified (i.e. they all start with "path/")
Checks if there is a matching plain file (case-insensitively) ; and returns its path with the correct case if so