Update

Tweaks and using LINQ experssions.

Gotta test this.
This line contains invalid syntax and will not compile.  You've made several errors here. Elements of deploylist are already DeployableObject, so calling Cast() is useless. The Linq statement has two where clauses.  Not valid.  The .Any() method doesn't return a bool, and the compiler can't figure out what you want without explicit casting, which is missing. Finally, you are access properties of DeployableObject as if they were properties of World.Entity.  Take a look at the code for Entity: the Name property is altered from the original.  The original names attached to DeployableObject are "WoodBox(Clone)" and "WoodBoxLarge(Clone)".