Replace this line https://github.com/openmrs/openmrs-core/blob/master/api/src/main/java/org/openmrs/FormField.java#L206
return required == null ? false : required;
return required == null ? Boolean.FALSE : required;
Boxing is the process of putting a primitive value into an analogous object, such as creating an Integer to hold an int value. Unboxing is the process of retrieving the primitive value from such an object. Since the original value is unchanged during boxing and unboxing, there's no point in doing either when not needed. This also applies to autoboxing and auto-unboxing (when Java implicitly handles the primitive/object transition for you).