In this chapter, we programmed a table game: Mastermind. We not only programmed the model of the game, but also created an algorithm that can guess. We revisited some OO principles and discussed why the model was created the way it was. While we created the model of the game, which we will refine in the next chapter, you have learned about Java collections, what an integration test is, and how to create JavaDoc.