Если вам действительно нужно использовать метод setOrder (), я бы работал с порядковыми номерами 10, 20, 30, 40, ... Таким образом, будет легко добавить элементы между уже установленными Элементами.
Кроме того, чтобы избежать использования номеров заказов дважды, вы можете использовать массив, в котором хранятся все числа от 1 до X. Каждый раз, когда вы устанавливаете номер заказа, вы устанавливаете его с помощью метода getOrderNumberFromArray () возвращает следующий номер более высокого или более низкого порядка, все еще доступный в массиве, и сбрасывает этот элемент массива.
В качестве альтернативы, а может быть, даже лучше, вы можете сделать getOrder () для элемента, который вы хотите иметь перед новым элементом, затем увеличить этот номер заказа на X, а затем перебрать существующие элементы формы и проверить, что номер заказа не еще не существует.
Или вы можете просто использовать getOrder () для элемента, который вы хотите показать до и после нового элемента, и убедиться, что вы не используете одинаковые порядковые номера для нового элемента.