private static int[] mergeArrays( int [] a , int [] b) {

		//check for array null
		if(a == null || b == null){
			throw new NullPointerException("One array is null");
		}
		
		//Create the new array with combined length
		int[] ab = new int[ a.length + b.length ]; 
		//setup external counters to handle different length in arrays (read more further down)
		int counterA = 0;
		int counterB = 0;
		
		//The for loop will loop the combined length, but to handle the shorter lengths of original arrays we use two separate counters or else we go oob
		for (int i = 0; i < ab.length; i++) {
			
			if(counterA<a.length && counterB<b.length){
				//We separate on even or odd numbers and increments respective counter
				if (i%2 == 0) {
					ab[i] = a[counterA];	
					counterA++;
				}
				else{
					ab[i]=b[counterB];
					counterB++;
				}
			}
			//Making it work both ways with larger difference than 2
			else {
				if(counterA < a.length){
					ab[i] = a[counterA];	
					counterA++;
				}
				if (counterB<b.length) {
					ab[i]=b[counterB];
					counterB++;
				}
			}
			
		}
		//Sort referenced array by built in java class
		Arrays.sort(ab);
		//Sort array by own methodOBSOLETE REMOVE!
		sortArrayByStaef(ab);
		return ab;
	}