Using Hamcrest and valid4j With DBC Techniques To Throw Recoverable Exceptions In this article, we discuss input validation as one of the most important concerns in methods, especially when you have methods called between classes. by Introduction Input validation is one of the most important concerns in methods, especially in the case that you have methods calling between classes; consider a case in which you have a class called CALLER that has a method which calls a specific method in CALLEE class: 4 4 } These pieces of code are one of the worst things a programmer can do in his life. Please don't try it at work, university, or even at home (lest bad habits can form). Let's take a closer look at the above codes. It is clear that neither the caller nor the callee knows its responsibilities. Everything is based on probabilities.