https://alicloud.my.id/2024/07/22/visitor-pattern-in-java/