Привет. Задача хорошая. Решил, протестил. Валидатор не принимает из-за 7-го требования. А именно 7. Метод main(String[] args) класса Solution должен вызывать метод printSomething(),объекта testString. Но я ведь явно вызвал у объекта testString метод printSomething(); Баг Валидатора, или я чего-то не вижу?
package com.javarush.task.task19.task1927;

/*
Контекстная реклама
*/

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

public class Solution2 {
    public static TestString testString = new TestString();

    public static void main(String[] args) {
        PrintStream backedUp = System.out;
        ByteArrayOutputStream wrapper = new ByteArrayOutputStream();
        PrintStream changedStream = new PrintStream(wrapper);
        System.setOut(changedStream);
        testString.printSomething();

        String printed = wrapper.toString();
        System.setOut(backedUp);

        String ads = "\n" + "JavaRush - курсы Java онлайн";

        StringBuffer stringBuffer = new StringBuffer();
        int border = 0;
        int counter = 0;
        for (int i = 0; i < printed.length(); i++) {
            if (printed.charAt(i) == '\n') {
                counter++;
                if (counter % 2 == 0) {
                    stringBuffer.append(printed.substring(border, i));
                    stringBuffer.append(ads);
                    border = i++;
                }
            }
        }
        stringBuffer.append(printed.substring(border, printed.length() - 1));
        System.out.println(stringBuffer);

    }

    public static class TestString {
        public void printSomething() {
            System.out.println("first");
            System.out.println("second");
            System.out.println("third");
            System.out.println("fourth");
            System.out.println("fifth");
        }
    }
}