33a34 > import org.openide.util.WeakListeners; 639,646c640 < dobj.addPropertyChangeListener(new PropertyChangeListener() { < public void propertyChange(PropertyChangeEvent ev) { < String propName = ev.getPropertyName(); < if (propName == null || propName == DataObject.PROP_PRIMARY_FILE) { < updateLookup(dobj, ic); < } < } < }); --- > dobj.addPropertyChangeListener(WeakListeners.propertyChange(new UpdateLookupPropertyChangeListener(dobj, ic), null)); 652a647,661 > } > > private static class UpdateLookupPropertyChangeListener implements PropertyChangeListener { > private InstanceContent ic; > private DataObject dobj; > public UpdateLookupPropertyChangeListener(DataObject dobj, InstanceContent ic) { > this.dobj = dobj; > this.ic = ic; > } > public void propertyChange(PropertyChangeEvent ev) { > String propName = ev.getPropertyName(); > if (propName == null || propName == DataObject.PROP_PRIMARY_FILE) { > DataEditorSupport.updateLookup(dobj, ic); > } > }