public void Add(RazorProjectItem projectItem)
    {
        if (projectItem == null)
        {
            throw new ArgumentNullException(nameof(projectItem));
        }

        var filePath = NormalizeAndEnsureValidPath(projectItem.FilePath);

        _root.AddFile(new FileNode(filePath, projectItem));
    }