@SuppressWarnings("unchecked")
	private void trickleDown(int pos) {
		int right = (pos+1)*2;
		int left = (pos*2)+1;
		int large = 0;
		
		if (right >= tNodes.length && left >=tNodes.length)
			return;
		if (right >= tNodes.length) {
			if (((T)tNodes[left]).compareTo((T)tNodes[pos]) < 0)
				swap(left, pos);
			else
				return;
		}
		
		if (right < tNodes.length && left < tNodes.length)
			large = ((T)tNodes[right]).compareTo((T)tNodes[left]) < 0 ? right : left;
		swap(pos, large);
		trickleDown(large);
	}