code: private SortedMap<String, ModelProperty> sort(Map<String, ModelProperty> modelProperties) {
  
      SortedMap<String, ModelProperty> sortedMap = new TreeMap<String, ModelProperty>(defaultOrdering(modelProperties));
      sortedMap.putAll(modelProperties);
      return sortedMap;
    }
docs: Returns a {@link TreeMap} where the keys are sorted by their respective property position values in ascending
  order.
  
  @param modelProperties properties to sort
  @return sorted properties by position and name