private void trickleDownMax(int i) {
		if(currentSize < 2*i) return;
		int biggest = biggestOffsprings(i);
		if(arr[i] > arr[biggest]) return;
		int temp = arr[i];
		arr[i] = arr[biggest];
		arr[biggest] = temp;
		if(biggest >= 4*i) {
			int parent = biggest / 2;
			if(arr[parent] > arr[biggest]) {
				temp = arr[parent];
				arr[parent] = arr[biggest];
				arr[biggest] = temp;
			}
			trickleDownMax(biggest);
		}
	}