Рекурсия - Удвойте каждый символ строкового ввода и затем срежьте последний символ одним методом

У меня следующая проблема.

Рекурсивный метод public static String doSomeMagic ("Test") должен возвращать:

TTeesstt
TTeess
TTee
TT

Я реализовал это поведение уже так:

public static String rowFunction(String s) {
    String toReturn = new String();

    if (!s.isEmpty()) {
        toReturn = String.valueOf(s.charAt(0));
        toReturn += toReturn + rowFunction(s.substring(1));
    }
    return toReturn;
}

public static String doSomeMagic(String s) {
    String toReturn = new String();

    if (!s.isEmpty()) {
        toReturn = rowFunction(s) + "\n" + doSomeMagic(s.substring(0, s.length() - 1));
    }
    return toReturn;
}

Как можно достичь этого с помощью только одной функции? Есть идеи?