question: public static < T > Key < T > of ( Class < T > type , Annotation ann ) { Objects . requireNonNull ( type ) ; Objects . requireNonNull ( ann ) ; return new Key < > ( type , new Annotation [ ] { ann } ) ; }
target:  Builds Key from a Class and annotation