Шаблон Builder предоставляет то, что называется Fluent API.Вместо отдельных вызовов set в каждой строке вы можете связать сеттеры с последующим методом окончательной сборки, чтобы получить экземпляр класса.Обычно нет объектов-получателей для объекта построителя.
Этот конструктор является формой конструктора копирования.Я предполагаю, что есть другой код, использующий его для создания уникальных экземпляров объекта с теми же данными.
Последняя строка вашего метода main ничего не делает, так как вы не назначаете этот новый класс.В любом случае, как уже упоминалось, вы обычно используете метод сборки, а не передаете конструктор в конструктор
MyClass foo = MyClass.newBuilder()
.withBar("blah")
.build();
MyClass.newBuilder()
также можно заменить на new MyClass.Builder()