boolean (@Nullable CaretStateTransferableData d1, @Nullable CaretStateTransferableData d2) { return (d1 == null || d1.getCaretCount() == 1) && (d2 == null || d2.getCaretCount() == 1) || d1 != null && d2 != null && Arrays.equals(d1.startOffsets, d2.startOffsets) && Arrays.equals(d1.endOffsets, d2.endOffsets); }