public final T pop() {if (size > 0) {T result = heap[1];       heap[1] = heap[size];     heap[size] = null;        size--;downHeap(1);              return result;} else {return null;}}
public T Pop(){if (size > 0){T result = heap[1]; heap[1] = heap[size]; heap[size] = default(T); size--;DownHeap(); return result;}else{return default(T);}}