if (!(target instanceof BaseObject)) { target = convertDates(origin, target); }
    public static Object convertLists(Object o) throws Exception {        if (o == null) {            return null;        }        Object target = null;        PropertyDescriptor[] origDescriptors =                PropertyUtils.getPropertyDescriptors(o);        for (int i = 0; i < origDescriptors.length; i++) {            String name = origDescriptors[i].getName();            if (origDescriptors[i].getPropertyType().equals(List.class)) {                List list = (List) PropertyUtils.getProperty(o, name);                for (int j=0; j < list.size(); j++) {                    Object origin = list.get(j);                    target = convert(list.get(j));                    if (!(target instanceof BaseObject)) {                        target = convertDates(origin, target);                    }                    list.set(j, target);                }                PropertyUtils.setProperty(o, name, list);            }        }        return o;    }