private <T>Property<T> prepare(String key,Property<T> property,T initialValue){
  final ChangeListener<T> change=null;
  property.setValue(initialValue);
  property.addListener(change);
  change.changed(property,null,initialValue);
  return property;
}

private < T > Property < T > prepare ( String key , Property < T > property , T initialValue ) { final ChangeListener < T > change = null ; property . setValue ( initialValue ) ; property . addListener ( change ) ; change . changed ( property , null , initialValue ) ; return property ; }
adds a listener to the specified property so that changes to it are reflected down to the source map .
