Stable sort method for parts list

Stable sort should be used to maintain the relative order as the parts are added.
And I'm not sure but the following codes seemed a programming mistake to me...
```ruby 
 def sort_parts!
       @parts.each do |p|
         p.body.set_sort_order(@part_sort_order)
         @parts.sort!(@part_sort_order)
         p.body.sort_parts!
       end
     end
```
Tested against 1.8.7, 1.9.2 and 1.9.3.
Hoping for comments.