The event ItemRemoving is raised prior to removing item and allows removal to be cancelled.
protected bool RemoveItem(IReorderableListAdaptor adaptor, int itemIndex) { var args = new ItemRemovingEventArgs(adaptor, itemIndex); OnItemRemoving(args); if (args.Cancel) return false; adaptor.Remove(itemIndex); GUI.changed = true; ReorderableListGUI.IndexOfChangedItem = -1; return true; }