this.persister = persister;
if (!persister.getElementType().isComponentType()) {
throw new IllegalArgumentException("persister for role "+persister.getRole()+" is not a collection-of-component");
}
ComponentType componentType = (ComponentType)persister.getElementType();
String[] names = componentType.getPropertyNames();
Type[] types = componentType.getSubtypes();
for (int i = 0; i < names.length; i++) {
subTypes.put(names[i], types[i]);
}