You are overthinking this. A Family is just a way to group objects. There is no separate storage, those instance variables are now part of each of those objects, that's why you can set them, even though you are clicking on the base object in the GUI (GreenSquareAmmo, for instance. Clicking on that object shows the instance variable are already there, the same as that object's own instance variables).
LE: yes, if any of those 3 are not a match, Else will run.