Я понимаю, что моё решение не самое короткое и изящное, но вроде бы все равно должно работать. Так что здесь не так? Помогите, пожалуйста
package com.javarush.task.task07.task0716;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/*
Р или Л
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader bis = new BufferedReader(new InputStreamReader(System.in));

        ArrayList<String> list = new ArrayList<String>();
        list.add("роза"); //0
        list.add("лоза"); //1
        list.add("лира"); //2
        list = fix(list);

        for (String s : list) {
            System.out.println(s);
        }
    }

    public static ArrayList<String> fix(ArrayList<String> list) {
        ArrayList<Character> wordList = new ArrayList<Character>();
        String l = "л";
        String r = "р";
        String word = "word";
        for (int x = 0; x < list.size(); x++){
            word = list.get(x);
            for (int z = 0; z < word.length(); z++){
                wordList.add(word.charAt(z));
            }
            for (int a  = 0; a < wordList.size(); a++){
                if (wordList.get(a).equals(l)){
                    list.add(x+1, list.get(x));
                }
                if (wordList.get(a).equals(r)) {
                    list.remove(x);
                }
            }
        }
        return list;
    }
}