// TODO: Implement configurable ordering
List allElements = domainTypeConfiguration.getRepository().findAll();
allElements = sortByNaturalOrder(allElements, domainTypeConfiguration);
PersistentProperty idAttribute = domainTypeConfiguration.getPersistentEntity().getIdProperty();
EntityNameExtractor<Object> nameExtractor = domainTypeConfiguration.getEntityConfiguration().getNameExtractor();
JspContext jspContext = getJspContext();
JspFragment tagBody = getJspBody();
for (Object element : allElements) {
BeanWrapper beanWrapper = new DirectFieldAccessFallbackBeanWrapper(element);
jspContext.setAttribute(idVar, beanWrapper.getPropertyValue(idAttribute.getName()));
jspContext.setAttribute(stringRepresentationVar, exceptionAwareNameExtractor(nameExtractor, domainTypeConfiguration).apply(element));
tagBody.invoke(null);
}
}