private void percolateDown(int hole){
		int child;
		AnyType tmp = this.array[hole];

		for( ; hole*2 <= this.currentSize; hole = child){
			child = hole*2;
			if(child != this.currentSize && compare(this.array[child+1], this.array[child])< 0)
				child++;
			if(compare(this.array[child],tmp)<0)
				this.array[hole] = this.array[child];
			else
				break;
		}
		
		this.array[hole] = tmp;
	}