Minheap implementation with design patterns - iterator,strategy,decorator,filter, null object pattern