Зачем здесь второй sb.toString() ?