for (Event e : pq)
не выполняет итерацию в порядке приоритета.
while(!pq.isEmpty()){ Event e = pq.poll(); }
Это работает, но очищает очередь.