private void merge(int lowerStart,int higherStart,int higherEnd){
		
		int lowerEnd=higherStart-1;
		int i=0;
		System.out.println("M"+lowerStart+":"+lowerEnd+"<-->"+higherStart+":"+higherEnd);
		while(lowerStart<=lowerEnd&&higherStart<=higherEnd){
			if(array[lowerStart]<=array[higherStart])
				workArray[i++]=array[lowerStart++];
			else
				workArray[i++]=array[higherStart++];
		}
		
		while(lowerStart<=lowerEnd)
			workArray[i++]=array[lowerStart++];
		
		while(higherStart<=higherEnd)
			workArray[i++]=array[higherStart++];
		
		int originloc=higherEnd-i+1;
		for(int j=0;j<i;j++){
			
			array[originloc+j]=workArray[j];
		}
		
	}