protected override void SetItem(int index, T item)
 {
     UiThreadBuilder.RunOnUiThread(() => base.SetItem(index, item));
 }
 protected override void MoveItem(int oldIndex, int newIndex)
 {
     UiThreadBuilder.RunOnUiThread(() => base.MoveItem(oldIndex, newIndex));
 }
 protected override void RemoveItem(int index)
 {
     UiThreadBuilder.RunOnUiThread(() => base.RemoveItem(index));
 }
 protected override void ClearItems() => UiThreadBuilder.RunOnUiThread(base.ClearItems);