@Documented
@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface Functional
This annotation indicates that an interface is intended to be a functional interface as defined by the Java Language Specification.
It should only be used on interface declarations and one may not add more abstract methods later on as other code might depend on this.