Some Buildable components are represented by XML elements in which some of the child elements don’t correspond to Buildable VASSAL components. I’m trying to think of an example. Maybe PlayerRoster? In any case, it’s not true that every XML element corresponds to an object in the Buildable tree. This code is assuming that any XML element whose name is the same as a Java class does in fact represent a Buildable component and treats them differently from non-Buildable elements.
Strictly speaking, we should, although I don’t think there are any cases where a buildFile contains elements that correspond to classes that don’t implement Buildable. If a buildFile had them, they would get skipped when the module is built and won’t be present when this code gets executed.