Java Priority Queue Implementation