if (detailValue == null) {
detailValue = createDetailObservable(masterElement);
keyDetailMap.put(addedKey, detailValue);
detailValue.addValueChangeListener(new IValueChangeListener() {
public void handleValueChange(ValueChangeEvent event) {
if (!event.getObservableValue().isStale()) {
staleDetailObservables.remove(event.getSource());
}