code: protected void checkNonGenericParameter(Method executeMethod, Parameter parameter) {
          if (isNonGenericCheckTargetType(parameter.getType())) { // e.g. List
              final Type paramedType = parameter.getParameterizedType();
              if (paramedType == null) { // no way? no check just in case
                  return;
              }
              if (paramedType instanceof ParameterizedType) {
                  final Type[] typeArgs = ((ParameterizedType) paramedType).getActualTypeArguments();
                  if (typeArgs != null && typeArgs.length > 0 && "?".equals(typeArgs[0].getTypeName())) { // e.g. List<?>
                      throwActionFormWildcardOnlyListParameterException(executeMethod, parameter);
                  }
              } else {
                  throwActionFormNonGenericListParameterException(executeMethod, parameter);
              }
          }
      }
docs: ====================