@Retention(value=RUNTIME)
@Target(value=FIELD)
public @interface Required
Use this annotation when you are expecting a java class as input, and have fields that are required.
If you do not annotate a field with this annotation, it will be considered optional, and if missing - will simply be set to null.