code: public static NestableFieldValidator listFv(final NestableFieldValidator validator, final boolean nullAllowed) {
          return new NestableFieldValidator() {
              @Override
              public void validateField(String pd, String name, Object field) throws IllegalArgumentException {
                  if (nullAllowed && field == null) {
                      return;
                  }
                  if (field instanceof Iterable) {
                      for (Object e : (Iterable) field) {
                          validator.validateField(pd + "Each element of the list ", name, e);
                      }
                      return;
                  }
                  throw new IllegalArgumentException("Field " + name + " must be an Iterable but was " + ((field == null) ? "null" : ("a " + field.getClass())));
              }
          };
      }
docs: Returns a new NestableFieldValidator for a List where each item is validated by validator.
  
  @param validator   used to validate each item in the list
  @param nullAllowed whether or not a value of null is valid
  @return a NestableFieldValidator for a list with each item validated by a different validator.