Sorry, ich hab mich da vielleicht selbst verwirrt: Eigentlich sollte `Bv.all` immer ein Array liefern, `self.groups` auch. D.h. ohne Schnittmenge ist das Resultat von `(Bv.all & self.groups)` einfach ein leeres Array `[]`. Die Methode `first` sollte also immer funktionieren. Das Resultat von `first` kann natürlich `nil` sein.

```
(Bv.all & self.groups).first.try(:becomes, Bv)
```

Such mal bitte das Beispiel heraus, wo `(Bv.all & self.groups)` als Ergebnis `false` hat. Denn das hilft uns vielleicht dabei herauszufinden, was wir falsch gemacht haben.