Sort the fields of a type. The method will be called with the class type that contains
all the fields and a Map that retains the order in which the elements have been added.
The sequence in which elements are returned by an iterator defines the processing order
of the fields. An implementation may create a different Map with similar semantic, add
all elements of the original map and return the new one.