How can I modify an arraylist while iterating over it? I would like answers that only deal with whilst I am iterating it please no answers regarding that I can save it and then modify it.
for (ListIterator<CardGroup> ShortSeqGroupListIterator = ShortSeqGroupList
                            .listIterator(); ShortSeqGroupListIterator.hasNext();) {
    CardGroup ShortSeqGroup = ShortSeqGroupListIterator.next();
    System.out.println("Iteration ---  "+ShortSeqGroup.getCardList());
    for (ListIterator<CardGroup> cardGroupListIterator = this.cardGroupList
                                .listIterator(); cardGroupListIterator.hasNext();) {
        CardGroup cardGroup = cardGroupListIterator.next();
        if (cardGroup.getCardGroupType() == CardGroupType.PURESEQUENCE
            || cardGroup.getCardGroupType() == CardGroupType.SHORTSEQUENCE) {
            continue;
        }
        Listindex = cardGroupListIterator.nextIndex() - 1;
        listOfIndex.add(Listindex); 
        cardGroup.setCardGroupType(CardGroupType.NONE);
        this.mergeExtraGroups();
    } 
    ShortSeqGroup.setCardGroupType(CardGroupType.NONE);
    this.mergeExtraGroups();
    this.markSets();
    this.markSequences(false);
    int PenaltyPointsShSeq = totalPenaltyOfUser(this.cardGroupList);
    PenaltyMapShortSeq.put(PenaltyPointsShSeq, this.cardGroupList);
    this.cardGroupList = clonedCardGroupList;
    System.out.println("&************************&");
    this.print();
}
NavigableMap<Integer, List<CardGroup>> descendedPenaltyMapShortSeq=PenaltyMapShortSeq.descendingMap();
System.out.println(descendedPenaltyMapShortSeq.firstKey());
I want to operate on the list and then after saving the operation I need to get the previous state of the list back .. The problem is of course Concurrent modification exception.
The this.cardList is the one I am operating on and the cloned cardgrouplist is a copy of it...
The cardGrouplist 1st element again contains:
An arraylist
 
     
     
    