use delegation for BoundedPriorityQueue, add Java API