Im trying to loop though an array list and add or remove items from it, its a question from Codegym.cc, im not sure what the solution is, any help? i had it sort of working before i added the last 2 if statements, but i really havent a clue what im doing wrong.
public class Cat {
    public static void main(String[] args) throws Exception {
        ArrayList<String> list = new ArrayList<String>();
    list.add("rose"); 
   list.add("measure"); 
    list.add("love"); 
    list.add("lyre"); 
    list.add("wade");
    list.add("bark");         
    list = fix(list);
    for (String s : list) {
        System.out.println(s);
    }
}
public static ArrayList<String> fix(ArrayList<String> list) {
    // write your code here     
        //loop through array
    for (int i = 0; i < list.size();){
        //if contains r and not l -remove it
        if(list.get(i).contains("r") && !list.get(i).contains("l")){
            list.remove(i);
            if(i > 0) {i--;}    
        }
        //if contains l and not r - dub entry 
        if(!list.get(i).contains("r") && list.get(i).contains("l")){
            list.add(i, list.get(i));
            if(i == list.size()-1) {break;}else {i+=2;}
        }
        //contains none - do nothing
        if(!list.get(i).contains("r") && !list.get(i).contains("l")){
            i++;
        }
        //contains both - do nothing
        if(list.get(i).contains("r") && list.get(i).contains("l")){
            i++;
        }
      }
    return list;
 }
}
 
     
     
    