@SuppressWarnings("unchecked") private <T>void addPropertyValue(ManagedObjectDefinition<?,?> d,PropertyDefinition<T> pd,String s) throws ArgumentException {
  T value;
  try {
    value=pd.decodeValue(s);
  }
 catch (  PropertyException e) {
    throw ArgumentExceptionFactory.adaptPropertyException(e,d);
  }
  Collection<T> values=(Collection<T>)properties.get(pd);
  if (values == null) {
    values=new LinkedList<>();
  }
  values.add(value);
  if (values.size() > 1 && !pd.hasOption(PropertyOption.MULTI_VALUED)) {
    PropertyException e=PropertyException.propertyIsSingleValuedException(pd);
    throw ArgumentExceptionFactory.adaptPropertyException(e,d);
  }
  properties.put(pd,values);
}

@ SuppressWarnings ( "unchecked" ) private < T > void addPropertyValue ( ManagedObjectDefinition < ? , ? > d , PropertyDefinition < T > pd , String s ) throws ArgumentException { T value ; try { value = pd . decodeValue ( s ) ; } catch ( PropertyException e ) { throw ArgumentExceptionFactory . adaptPropertyException ( e , d ) ; } Collection < T > values = ( Collection < T > ) properties . get ( pd ) ; if ( values == null ) { values = new LinkedList < > ( ) ; } values . add ( value ) ; if ( values . size ( ) > 1 && ! pd . hasOption ( PropertyOption . MULTI_VALUED ) ) { PropertyException e = PropertyException . propertyIsSingleValuedException ( pd ) ; throw ArgumentExceptionFactory . adaptPropertyException ( e , d ) ; } properties . put ( pd , values ) ; }
add a single property value .
