Optional

@Target(allowedTargets = {AnnotationTarget.FUNCTION} )
public @interface Optional

Annotation for functions that are optional to implement. Classes must handle the case that the function is not implemented