code: 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());
          }
      }
docs: Checks that amend extensions strictly compatible with descriptor object.
  Used for amend annotations defined on method.
  
  @param descriptorType method descriptor type
  @param extensions     amend extension annotations