public static void checkAmendExtensionsCompatibility ( final Class < ? extends RepositoryMethodDescriptor > descriptorType , final List < Annotation > extensions ) { final List < Class < ? extends AmendMethodExtension > > exts = Lists . transform ( extensions , new Function < Annotation , Class < ? extends AmendMethodExtension > > ( ) { @ Nonnull @ Override public Class < ? extends AmendMethodExtension > apply ( @ Nonnull final Annotation input ) { return input . annotationType ( ) . getAnnotation ( AmendMethod . class ) . value ( ) ; } } ) ; for ( Class < ? extends AmendMethodExtension > ext : exts ) { check ( isCompatible ( ext , AmendMethodExtension . class , descriptorType ) , "Amend extension %s is incompatible with descriptor %s" , ext . getSimpleName ( ) , descriptorType . getSimpleName ( ) ) ; } }
Checks that amend extensions strictly compatible with descriptor object . Used for amend annotations defined on method .