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