public List getChildren(JAXBElement<?> wrapper) {
Object wrapperValue = wrapper.getValue();
Class<?> wrapperClass = wrapperValue.getClass();
XmlType xmlType = wrapperClass.getAnnotation(XmlType.class);
String[] properties = xmlType.propOrder();
List<Object> elements = new ArrayList<Object>();
for (String p : properties) {
try {
Method method = wrapperClass.getMethod("get" + capitalize(p), (Class[])null);
Object value = method.invoke(wrapperValue, (Object[])null);