This is the final version of the code I used for my Devoxx Belgium 2019 talk.
You can watch the video here: https://www.youtube.com/watch?v=gq23w9nycBs and find the slides here: https://www.slideshare.net/jpaumard/designing-functional-and-fluent-api-example-of-the-visitor-pattern.