If I'm not mistaken, you seem to have some code from an implementation of QuickSort. Swap would look something like this:
The split() method is dividing the array into two partitions. The elements in one partition are all greater than the elements in the other partition. The return value of split() is the location where the partitions meet.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com