When working with dynamic code, sometimes we end up with a generic reference that we need to cast to complete our operation.  
Example: You make a sub-VI that extracts the plot color of a waveform chart or a graph. The reference input to that VI must be of a common reference type (GraphChart) 
The problem is that this property, although it exists for both types of references does not exist in the common type. 
Proof:   http://content.screencast.com/users/NJKirchner/folders/Jing/media/d223f6b4-83a2-43dd-a830-be17877c9715/2010-09-10_1849.mp4   
So if you want to have a piece of code that can operate on both types of references, what do you do?  
Somehow you need to have a switch in your code that will conditionally run the correct code based upon the specific reference you wire in.  
The way some people do this is by utilizing the 'Class Name' property into a case structure but this has problems w/ flexibility 
Proof:  http://content.screencast.com/users/NJKirchner/folders/Jing/media/9f771182-303a-40d2-96db-3701ee43ff7f/2010-09-10_1903.mp4  
This is a simple case where there is only 1 or 2 sub-types. What about a numeric w/ all of it's myriad of sub types (slider, guage, etc).  
The appropriate way to handle this is by doing a type cast, but people typically solve the 'Many Cast' design pattern VERY POORLY through nested error structures. Which looks really ugly 
Proof:  http://content.screencast.com/users/NJKirchner/folders/Jing/media/7c0e0bfe-966a-458a-8bc8-c44bf6a91cc5/2010-09-10_1913.mp4   
So what is our alternative? Introducing the very useful, and practically perfect in every way 'Many Cast' design pattern. 
It's stackable 
It's scalable 
And it even tosses errors properly 
Proof:  http://content.screencast.com/users/NJKirchner/folders/Jing/media/55e8e391-bb10-4cc2-9a15-2e2a46912bb6/2010-09-10_1933.mp4  
The Code is attached, not as a package 'yet' 
Demo to Follow in the subsequent post  Design Pattern - ManyCast.vi