void AddResource(ResourceId id, Dictionary<ResourceType, FolderAsset> folders)
{
foreach (FolderAsset childFolder in Children) {
foreach (Resource resource in childFolder.Children) {
if (resource.Id.Type == id.Type && resource.Id.Id == id.Id)
return;
}
}
FolderAsset folder;
if (!folders.TryGetValue(id.Type, out folder))
folder = folders[id.Type] = new FolderAsset(this, id.Type.ToString());
new Resource(folder, this, id);
}