safeUnbox () não pode ser invertido

Estou tentando eliminar todos os avisos do meu aplicativo Android e um deles é o seguinte:

viewModel.value é um campo em caixa, mas precisa ser desmarcado para executar android: marcado. Isso pode causar o NPE, de modo que a Ligação de dados o descompacta com segurança. Você pode alterar a expressão e agrupar explicitamente viewModel.value com safeUnbox () para impedir o aviso

Onde o valor é genéricoObservableField que vem de uma super classe:

public abstract class BaseDataTypeViewModel<T> extends BaseObservable  {
    public final ObservableField<T> value = new ObservableField<>();
    ...
}

E é estendido em algum lugar como umBoolean:

public class CheckBooleanDataTypeViewModel extends BaseDataTypeViewModel<Boolean> {
    ...
}

Eu vi noligação de dados - aviso safeUnbox que os avisos acontecem porque esta é umaBoolean e não umboolean, então tentei adicionar isso:android:checked="@={safeUnbox(viewModel.value)}" ao invés deandroid:checked="@={viewModel.value}" mas então eu recebi um erro dizendo que não posso inverter osafeUnbox() método.

**** / erro de ligação de dados **** msg: a expressão android.databinding.DynamicUtil.safeUnbox (viewModelValue) não pode ser invertida: não há inverso para o método safeUnbox, você deve adicionar uma anotação @InverseMethod ao método para indicar qual método deve ser usado ao usá-lo em expressões de ligação bidirecional

Entendi corretamente os dois problemas separados, mas tenho que conviver com o aviso para evitar o erro ou é uma solução para evitar tanto o aviso quanto o erro? E o@InverseMethod está falando? Não consegui adicionar esta anotação porque o método vem do pacote android.

questionAnswers(2)

yourAnswerToTheQuestion