code: func (v ContainerView) RetrieveWithFilter(ctx context.Context, kind []string, ps []string, dst interface{}, filter property.Filter) error {
  	if len(filter) == 0 {
  		return v.Retrieve(ctx, kind, ps, dst)
  	}
  
  	var content []types.ObjectContent
  
  	err := v.Retrieve(ctx, kind, filter.Keys(), &content)
  	if err != nil {
  		return err
  	}
  
  	objs := filter.MatchObjectContent(content)
  
  	pc := property.DefaultCollector(v.Client())
  
  	return pc.Retrieve(ctx, objs, ps, dst)
  }
docs: // RetrieveWithFilter populates dst as Retrieve does, but only for entities matching the given filter.