@ SuppressWarnings ( "unchecked" ) public static < T extends Annotation > T createAnnotationFromMap ( Class < T > annotationClass , Map < String , Object > valuesMap ) { Map < String , Object > map = getAnnotationDefaultMap ( annotationClass ) ; map . putAll ( valuesMap ) ; return AccessController . doPrivileged ( ( PrivilegedAction < T > ) ( ) -> ( T ) Proxy . newProxyInstance ( annotationClass . getClassLoader ( ) , new Class [ ] { annotationClass } , uncheck ( ( ) -> ( InvocationHandler ) AnnotationInvocationHandler_constructor . newInstance ( annotationClass , map ) ) ) ) ; }
Create annotation from the given map .