code: private static void assignList(final Field field, final ICmdLineArg<?> arg, final Object target)
              throws IllegalAccessException
      {
          @SuppressWarnings("unchecked")
          Collection<Object> alist = (Collection<Object>) field.get(target);
  
          if (alist == null)
          {
              alist = new ArrayList<>();
              field.set(target, alist);
          }
          for (int v = 0; v < arg.size(); v++)
              alist.add(arg.getDelegateOrValue(v));
      }
docs: This value may not be appropriate for the list. But since this is at
  runtime we can't make use of the generics definition they may have
  provided on the field. If the value is not what they expect then they
  need to provide a --factory set of methods.