private File AddFileToFolder(Folder folder, ProjectItem item)
        {
            var newFile = new FileProxy(folder);
            newFile.VsProjectItem = item;
            newFile.Name = item.Name;
            folder.Items.Add(newFile);

            foreach (ProjectItem codeBehindItem in item.ProjectItems)
            {
                var codeBehindFile = new FileProxy(folder);
                codeBehindFile.Name = codeBehindItem.Name;
                codeBehindFile.VsProjectItem = codeBehindItem;
                newFile.Items.Add(codeBehindFile);
            }

            return newFile;
        }
        public File NewFile(string name, Folder parentFolder)
        {
            var parentFolderProxy = parentFolder as FolderProxy;

            var newFile = new FileProxy(parentFolder){ Name = name };

            using (var f = newFile.NewFileStream()) ;
            var newProjectItem = parentFolderProxy.VsProjectItem.ProjectItems.AddFromFile(newFile.Path);

            newFile.VsProjectItem = newProjectItem;

            return newFile;
        }