Conventions conventions) {
AccessibleObject[] accessors = objectContext.getAccessors(Extension.class, conventions);
for (AccessibleObject accessor : accessors) {
Object value = eval(accessor, source);
ObjectContext valueContext = new ObjectContext(value, source, accessor);
Extension extension = valueContext.getAnnotation(Extension.class);
boolean simple = extension != null ? extension.simple() : false;
Serializer ser = context.getSerializer(valueContext);
if (ser == null) {
if (simple) {
QName qname = getQName(accessor);
ser = new SimpleElementSerializer(qname);