где ошибка и правилен ли алгоритм?
public class Solution {
    public static void main(String[] args) throws Exception {
        ArrayList<String> list = new ArrayList<>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        for (int i = 0; i < 10; i++) {
            list.add(i, reader.readLine());
        }

        ArrayList<String> result = doubleValues(list);

        for (int i = 0; i < result.size(); i++) {
            String s = result.get(i);
            System.out.println(s);
        }
    }

    public static ArrayList<String> doubleValues(ArrayList<String> lists) {
        ArrayList<String> returnArray = new ArrayList<>();
        for (int i = lists.size()-1; i >= 0; i--) {
            String s = lists.get(i);
            returnArray.add(s);
            returnArray.add(s);
        }

        return returnArray;
    }
}