recursive merge sort in java