boolean (Class<?> @NotNull [] parameterTypes, @NotNull List<@Nullable Class<?>> argumentTypes) { for (int i = 0; i < argumentTypes.size(); i++) { Class<?> argType = argumentTypes.get(i); if (argType == null) continue; Class<?> parameterType = parameterTypes[i]; if (!ClassUtils.isAssignable(argType, parameterType)) return false; } return true; }