code: private static void validateParams(List<Object> params, Class<?> classz) {
  
          // skip validation if not uimafit
          if (!JCasAnnotator_ImplBase.class.isAssignableFrom(classz)
                  && !JCasCollectionReader_ImplBase.class.isAssignableFrom(//
                          classz)) {
              LOG.warn(
                      "    +- Could not validate parameters in {}. You might want to check it manually.",
                      classz.getName());
              return;
          }
  
          for (int i = 0; i < params.size(); i = i + 2) {
              String paramName = (String) params.get(i);
              try {
  
                  // add fields from superclass as well
                  Set<Field> fields = newHashSet(classz.getDeclaredFields());
                  fields.addAll(newHashSet(classz.getSuperclass()
                          .getDeclaredFields()));
  
                  List<String> paramNames = new ArrayList<String>();
                  for (Field f : fields) {
                      if (f.isAnnotationPresent(ConfigurationParameter.class)) {
                          ConfigurationParameter confParam = f
                                  .getAnnotation(ConfigurationParameter.class);
                          paramNames.add(confParam.name());
                      }
                  }
  
                  if (!paramNames.contains(paramName)) {
                      LOG.warn(
                              "    +-XXXXXXXXX Could not find parameter '{}' in {}. You should check it.",
                              paramName, classz.getName());
                      LOG.warn("    +-XXXXXXXXX Available parameters are:\n",
                              join(paramNames, "\n"));
                  }
              } catch (SecurityException e) {
                  LOG.error(
                          "could not validate params for "
                                  + classz.getSimpleName(), e);
              }
          }
      }
docs: check that this ae or cr has the right parameters
  
  @param params
  key : val : key : val
  @param classz
  a cr or an ae
  @throws ParseException
  if the keys are not declared as fields in the classz