/**
  * Creates results for a file or for a symlink that points to one.
  *
  * <p>A symlink may be direct (points to a file) or transitive (points at a direct or transitive
  * symlink).
  */
 private static RecursiveFilesystemTraversalValue resultForFileRoot(
     RootedPath path, FileInfo info) {
   Preconditions.checkState(
       info.type.isFile() && info.type.exists(), "{%s} {%s}", path, info.type);
   if (info.type.isSymlink()) {
     return RecursiveFilesystemTraversalValue.of(
         ResolvedFile.symlinkToFile(
             info.realPath, path, info.unresolvedSymlinkTarget, info.metadata));
   } else {
     return RecursiveFilesystemTraversalValue.of(ResolvedFile.regularFile(path, info.metadata));
   }
 }