// If an instance of a list, call recursively on any Map entry, and also
// convert this map into a list preserving key order.
if (map instanceof ListMap)
{
DataList result = new DataList();
ListMap listMap = (ListMap)map;
List<Integer> sortedKeys = new ArrayList<Integer>(listMap.keySet());
Collections.sort(sortedKeys);
for (Integer key : sortedKeys)
{
Object object = map.get(key);