Kotlin: confusión con los generics

Realm devuelve una list de FooRealm . FooRealm es un Foo

 public class FooRealm extends RealmObject implements Foo 

Pero tengo un desajuste de tipo:

 Type mismatch: Requinetworking: Observable<List<FooRealm>> Found: Observable<List<Foo>> 

Cuando lo hago:

 override fun getFoo(): Observable<List<Foo>> { return Realm.getDefaultInstance().use { realm -> realm.where(FooRealm::class.java) .equalTo("bar", true) .findAllAsync() .asObservable() } }