code: func FindNodes(tx ReadTx, by By) ([]*api.Node, error) {
  	checkType := func(by By) error {
  		switch by.(type) {
  		case byName, byNamePrefix, byIDPrefix, byRole, byMembership, byCustom, byCustomPrefix:
  			return nil
  		default:
  			return ErrInvalidFindBy
  		}
  	}
  
  	nodeList := []*api.Node{}
  	appendResult := func(o api.StoreObject) {
  		nodeList = append(nodeList, o.(*api.Node))
  	}
  
  	err := tx.find(tableNode, by, checkType, appendResult)
  	return nodeList, err
  }
docs: // FindNodes selects a set of nodes and returns them.