Sub SortListWithDeviceLocale(l1 As List)
Dim collator As JavaObject
collator = collator.InitializeStatic("java.text.Collator").RunMethod("getInstance", Null)
collator.RunMethod("setStrength", Array (0))
Dim jo As JavaObject
jo.InitializeStatic("java.util.Collections").RunMethod("sort", Array(l1, collator))
End Sub
It is not possible. If all the relevant field values are unique then you can add them to a list and a map where they the key is the field value and the value is the custom type.
Sort the list and then get the types from the map.