But DiscardableItem::Discard does not be called. How can I make it work? thanks! I think lambda can solve this problem easily.