code: func (f *Filter) Retrieve() (all []*ReceivedMessage) {
  	f.mutex.Lock()
  	defer f.mutex.Unlock()
  
  	all = make([]*ReceivedMessage, 0, len(f.Messages))
  	for _, msg := range f.Messages {
  		all = append(all, msg)
  	}
  
  	f.Messages = make(map[common.Hash]*ReceivedMessage) // delete old messages
  	return all
  }
docs: // Retrieve will return the list of all received messages associated
  // to a filter.