.sp
If both the source object and the gate object have value data and no maps,
the gate value data is used.
.sp
If the source object has a map (with or without value data), and the gate 
only has a map (no value data), the gate's map is used.  
.sp
If the source object has both value and map data, and the gate has 
value data (with or without a map), the source value data will be mapped 
before processing.  If the gate does have a map, its value data will be 
mapped before processing.
.sp
The program will fail if the source has only value data, and the gating
object has only map data, or vice versa.
