@Override
public ElementMetadata setConverter(AttributeConverter<?, ?> conv)
{
String elemType = ((AbstractMemberMetaData)getInternal().getParent()).getCollection().getElementType();
Class elemCls = getInternal().getMetaDataManager().getNucleusContext().getClassLoaderResolver(null).classForName(elemType);
Class attrType = JDOTypeConverterUtils.getAttributeTypeForAttributeConverter(conv.getClass(), elemCls);
Class dbType = JDOTypeConverterUtils.getDatastoreTypeForAttributeConverter(conv.getClass(), attrType, null);
JDOTypeConverter typeConv = new JDOTypeConverter(conv);
TypeManager typeMgr = getInternal().getMetaDataManager().getNucleusContext().getTypeManager();
typeMgr.registerConverter(conv.getClass().getName(), typeConv, attrType, dbType, false, null);
getInternal().addExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME, conv.getClass().getName());
return this;
}