public Iterator<T> iterator() {
        return ImmutableList.copyOf(data).iterator();
    }
@Test
    public void iterator() {
        Heap<Integer> h = new Heap<>(data, MIN);
        assertTrue("should have next element", h.iterator().hasNext());
    }