@Target(value=TYPE)
@Retention(value=CLASS)
public @interface Lambda
Used to denote interface
declarations whose implementations can essentially act like lambdas (i.e. anonymous functions).
Implementations are technically classes and not language-level lambda constructs because
Java at this time does not support them. Conceptually however they can be treated as lambdas.
As of Android Studio 3.0, Java 8 and lambdas are supported. This annotation will remain to mark interfaces which should remain
a lambda (only one method), so this annotation becomes more for internal use than anything else.