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