if (childs.length < 2) {
continue;
}
boolean isNew = false;
MultiplexMappingInfo mmi = model.getMappingModel().lookupMultiplexMapping(base);
final ArrayList typeInfoList;
if (mmi == null) {
mmi = new MultiplexMappingInfo(base);
typeInfoList = new ArrayList();
isNew = true;
}
else {
typeInfoList = new ArrayList(Arrays.asList(mmi.getChildClasses()));
}
for (int i = 0; i < childs.length; i++) {
// the generic information is only added, if no other information
// is already present ...
final TypeInfo typeInfo = new TypeInfo(childs[i].getName(), childs[i]);
if (!typeInfoList.contains(typeInfo)) {
typeInfoList.add(typeInfo);
}
}
mmi.setChildClasses((TypeInfo[]) typeInfoList.toArray(new TypeInfo[0]));
if (isNew) {
model.getMappingModel().addMultiplexMapping(mmi);
}
}