code: @SuppressWarnings("unchecked")
  	public E poll () {
  		if (size == 0) return null;
  		int s = --size;
  		E result = (E)queue[0];
  		E x = (E)queue[s];
  		queue[s] = null;
  		if (s != 0) siftDown(0, x);
  		if (uniqueness) set.remove(result);
  		return result;
  	}
docs: Retrieves and removes the head of this queue, or returns {@code null} if this queue is empty.
  
  @return the head of this queue, or {@code null} if this queue is empty.