У меня вопрос не совсем по теме: я зависла на том, как запускается программа именно в этом случае. Вот есть у нас класс Solution. У него есть метод main, с которого и начинается работа программы. И внутри этого метода создаётся объект класса Solution же. Это какая-то рекурсия... или нет? Могу ли я в функции main написать строчку solution.main(arr)? Могу ли я создать рядом ещё один класс с функцией main - и что тогда будет? Где хорошо расписана эта тема?