protected <T extends AbstractOptionValue<?,?>>AbstractOptions(Function<T,T> valueFilter,Iterable<T> values){
  requireNonNull(valueFilter,"valueFilter");
  requireNonNull(values,"values");
  valueMap=new IdentityHashMap<>();
  putAll(valueFilter,StreamSupport.stream(values.spliterator(),false));
}

protected < T extends AbstractOptionValue < ? , ? > > AbstractOptions ( Function < T , T > valueFilter , Iterable < T > values ) { requireNonNull ( valueFilter , "valueFilter" ) ; requireNonNull ( values , "values" ) ; valueMap = new IdentityHashMap < > ( ) ; putAll ( valueFilter , StreamSupport . stream ( values . spliterator ( ) , false ) ) ; }
creates a new instance .
