public static Note[] merge(Note[] arr1, Note[] arr2) {
		// Set up the return index and all the counting variables
		Note[] ret = new Note[arr1.length + arr2.length];
		int retIndx = 0;
		int indx1 = 0;
		int indx2 = 0;
		
		// Loop through the arrays until one of them runs out,
		// adding the lower number to the return array.
		while (indx1 < arr1.length && indx2 < arr2.length) {
			if (arr1[indx1].lessThan(arr2[indx2])) {
				ret[retIndx] = arr1[indx1];
				indx1++;
			} else {
				ret[retIndx] = arr2[indx2];
				indx2++;
			}
			retIndx++;
		}
		
		// Add all the un-added numbers to the return array.
		while (indx1 < arr1.length) {
			ret[retIndx] = arr1[indx1];
			indx1++;
			retIndx++;
		}
		while (indx2 < arr2.length) {
			ret[retIndx] = arr2[indx2];
			indx2++;
			retIndx++;
		}
		
		return ret;
	}