code: func runFilter(ctx context.Context, be *eth.EthAPIBackend, filter *filters.Filter) ([]*Log, error) {
  	logs, err := filter.Logs(ctx)
  	if err != nil || logs == nil {
  		return nil, err
  	}
  
  	ret := make([]*Log, 0, len(logs))
  	for _, log := range logs {
  		ret = append(ret, &Log{
  			backend:     be,
  			transaction: &Transaction{backend: be, hash: log.TxHash},
  			log:         log,
  		})
  	}
  	return ret, nil
  }
docs: // runFilter accepts a filter and executes it, returning all its results as
  // `Log` objects.