if (type != null) {
if (List.class.isAssignableFrom(attrType)) {
return new ListEditor(getElementType(type, attrName));
}
if (Set.class.isAssignableFrom(attrType)) {
return new SetEditor(getElementType(type, attrName));
}
if (Collection.class.isAssignableFrom(attrType)) {
return new CollectionEditor(getElementType(type, attrName));
}
if (Map.class.isAssignableFrom(attrType)) {