Here's a checklist for whether or not you should do something in Java:
1. Is it verbose? If yes, continue on. If not, add some meaningless words to all your classes and methods.
2. Does it have at least 2 factories and/or builders? If not, make sure you add some design patterns. A `BuilderFactoryProviderAdapter` is best.
3. Does it have enough abstraction? Make sure you don't get too abstract, because then some might think you're an FP programmer, and we don't want that. But make sure it's just abstract enough that no one understands anything.