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