Хочу решить эту задачу без использования двух ArrayList. В коде, для решения примера №1
lines.add(count.addAndGet(-2), tmp);
и для решения примера №2
lines.add(listIterator.hasNext() ? count.addAndGet(-2) : count.get(), tmp);
Как обьединить :) Варианты есть, но что я додумался; не подходят, потому не пишу тут, что бы не путать. Как мне кажется, основная проблема заключается в том чтобы определить в файле изменений, последию строку. P.S., саму задачу с двумя промежуточными ArrayList я сделал, тут именно вопрос не в решении задачи как таковой, а в реализации подхода "Без ArrayList"