Вызывая moc.get(2000).allPages()
, вы уже получаете итератор, который запрашивает следующие страницы по запросу при его итерации по нему.
Проблема, с которой вы сталкиваетесь, связана с удалением элементов из того же списка, по которому вы выполняете итерацию.Вы удаляете элемент с первой страницы, но как только вторая страница запрашивается с сервера, он больше не содержит ожидаемых элементов, поскольку вы уже удалили первую страницу.Теперь все элементы смещены вперед на размер вашей страницы.
Вы можете избежать всего этого, сделав локальную копию всех элементов, которые хотите удалить в первую очередь:
List<ManagedObjectRepresentation> allObjects = Lists.newArrayList( moc.get(2000).allPages())
for (ManagedObjectRepresentation mo : allObjects) {
//delete here
}