Почему в один момент в этой рекурсии исчезают все символы но в итоге она возвращает весь набор символов , хотя проверяли на пустоту и возвращали одну ссылку ? Возможно это как-то связано с тем что String immutable, объясните пожалуйста.
public static String reverseString(String myStr)
    {
        if (myStr.isEmpty()) return myStr;
        System.out.println(myStr);
        return reverseString(myStr.substring(1)) + myStr.charAt(0);
    }