Hello guys, if you are working in Java then you may have heard about Lombok, one of the popular Java library which alleviate pain Java developer by removing boiler plate code and provides improve development experience. Yes, Lombok can remove a lot of code like the one you put on equals() and hashCode, getter and setter, toString and constructor and much more. This means you can just create a Java class with fields much like Record of Java SE 17 and you can use it like a fully functional Java class, I mean you can create object using constructor or Builder and you can get and set values using gettter and setter, only difference is they are not visible in code. But then you may be thinking how does it work? Where does it get those getter and setter? why not compiler raise any problem?