Completed.andThen результаты в "other is null"

У меня есть следующий код:

fun edit(note: Note): Completable = getValidationCompletable(note).andThen(repository.insertOrUpdate(note)) private fun getValidationCompletable(note: Note): Completable { return if (!note.isValidForEdit()) { Completable.error(IllegalArgumentException("note failed validation before edit")) } else { Completable.complete() } } 

в случае, когда note.isValidForEdit() возвращает false, я получаю следующее:

 java.lang.NullPointerException: other is null at io.reactivex.internal.functions.ObjectHelper.requireNonNull(ObjectHelper.java:39) at io.reactivex.Completable.concatWith(Completable.java:1040) at io.reactivex.Completable.andThen(Completable.java:908) 

Может ли кто-нибудь пролить свет на это?

Кажется, что это было разрешено, но для того, чтобы связать свободные концы, аргумент concatWith ( repository.insertOrUpdate(note) в этом случае) не может быть нулевым.

Интересно, что ReactiveX, похоже, имеет свою собственную функцию ObjectHelper.requireNonNull , но не аннотирует этот параметр с NotNull аннотации NotNull , поэтому компилятор Kotlin не может проверить значение nullability во время компиляции.

Возможно, стоит подумать об этом в проблеме.