https://javainspires.blogspot.com/2023/07/creating-immutable-classes-in-java.html
Creating Immutable Classes in Java