Если исходить из решения задачи, то получается, что мы рекурсивно вызываем те же самые методы и так по кругу до бесконечности, пока стек не переполнится. Или я что-то не понимаю? И ещё такой момент, в конструктор мы передаём "объект" интерфейса, что уже является бредом по смыслу, мы просто не сможем даже создать объект нашего класса с таким параметром. Поделитесь мыслями кто как считает? Вообще задачу я решил, можете не обращать внимания на ошибки в моём коде, не отправлял повторно на валидацию просто, но мне хотелось бы пояснений. Но, что бы вам было проще, в моём коде нужно поправить два метода: @Override public String getHeaderText() { return tableInterface.getHeaderText().toUpperCase(); } @Override public void setHeaderText(String newHeaderText) { tableInterface.setHeaderText(newHeaderText); } Ну и удалить строку headerText можно