Can't figure out what is wrong wi th my merge sort code : I went over it multiple times and I am not sure what I am doing wrong. The logic seems ok but it is printing out the first number only. I left out the main method. Thank you.

public class MergeSort {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] bob = {4,7,99,8,12,6};
		
		Mergesort(bob);
		
		for(int i=0; i< bob.length; i++){
			System.out.print(bob[i]+",");
		}
	}
	
	public static int[] Mergesort(int[] bob){

		int length = bob.length;
		int mid = bob.length/2;
		if(length <= 1){
			return bob;
		}
		
		int[] left = new int[mid];
		int[] right = new int[length-left.length];
		
		for(int i=0; i< mid; i++){
			left[i]=bob[i];
		}
		for(int j=mid; j< length; j++){
			right[j-mid]=bob[j];
		}
		
		Mergesort(left);
		Mergesort(right);
		merge(left,right, bob);
		return bob;
	}
	