code: public FilterValues<S> with(char value) {
          PropertyFilterList<S> current = currentProperty();
          Object obj;
          try {
              obj = current.getPropertyFilter().adaptValue(value);
          } catch (IllegalArgumentException e) {
              throw mismatch(e);
          }
          return with(current, obj);
      }
docs: Returns a new FilterValues instance with the next blank parameter filled in.
  
  @param value parameter value to fill in
  @throws IllegalStateException if no blank parameters
  @throws IllegalArgumentException if type doesn't match