Heap Data Structure implemented in Java