An old pet project of mine where I investigated the magic that is maze generation. I implemented several algorithms in a hopefully clear way, before concluding that most of these algorithms are variations of a few base algorithms. The plan was to make a visualisation of the algorithms, but that never got off the ground. You can look at the pretty printer for how that could be done.
All algorithms I could find at the time have their own class, and some Javadoc has been added to explain what the algorithm is (or should be) and where the information was found.