// Handle all the possible child types
Map<Class, ? extends RuntimeClassInfo> beans = set.beans();
for (Map.Entry<Class, ? extends RuntimeClassInfo> e : beans.entrySet()) {
Class c = e.getKey();
RuntimeClassInfo clsInfo = e.getValue();
if (propCls.isAssignableFrom(c)
&& propCls != c
&& !Modifier.isAbstract(c.getModifiers())) {
ElementParserBuilder xsiBuilder = propBuilder.expectXsiType(clsInfo.getTypeName());
JVar xsiVar = xsiBuilder.passParentVariable(propVar);
handlePropertyElement(xsiBuilder, xsiVar, beanClass,
propEl,
typeRef.getTagName(),
typeRef.isNillable(),