safeUnbox () no se puede invertir

Estoy tratando de eliminar todas las advertencias de mi aplicación de Android y una de ellas es esta:

viewModel.value es un campo encuadrado pero debe estar sin encuadrar para ejecutar android: marcado. Esto puede causar NPE, por lo que el enlace de datos lo desempaquetará de manera segura. Puede cambiar la expresión y envolver explícitamente viewModel.value con safeUnbox () para evitar la advertencia

Donde el valor es genéricoObservableField que viene de una superclase:

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

Y se extiende en algún lugar como unBoolean:

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

Vi enenlace de datos - advertencia SafeUnbox que las advertencias suceden porque esta es unaBoolean y no unboolean, así que intenté agregar esto:android:checked="@={safeUnbox(viewModel.value)}" en lugar deandroid:checked="@={viewModel.value}" pero recibí un error diciendo que no puedo invertir elsafeUnbox() método.

**** / error de enlace de datos **** Mensaje: la expresión android.databinding.DynamicUtil.safeUnbox (viewModelValue) no puede invertirse: no hay inverso para el método safeUnbox, debe agregar una anotación @InverseMethod al método para indicar qué método se debe usar al usarlo en expresiones de enlace bidireccionales

Entiendo correctamente los 2 problemas separados, pero ¿tengo que vivir con la advertencia para evitar el error o es su solución para evitar tanto la advertencia como el error? Qué pasa con la@InverseMethod está hablando? No logré agregar esta anotación porque el método proviene del paquete de Android.

Respuestas a la pregunta(2)

Su respuesta a la pregunta