docs: private int checkCompatibility(Class<?>[] parameterTypes, Executable executable) {
          if (executable.getParameterCount() != parameterTypes.length) {
              return -1;
          }
          Class<?>[] executableParameterTypes = executable.getParameterTypes();
          int result = 0;
          for (int i = 0; i < parameterTypes.length; ++i) {
              if (parameterTypes[i] == null) {
                  if (executableParameterTypes[i].isPrimitive()) {
                      return -1;
                  }
                  result = 1;
              } else {
                  Class<?> wrapped = Primitives.wrap(executableParameterTypes[i]);
                  if (wrapped != parameterTypes[i]) {
                      if (!wrapped.isAssignableFrom(parameterTypes[i])) {
                          return -1;
                      }
                      result = 1;
                  }
              }
          }
          return result;
      }