ArrayList changes = new ArrayList(1);
    public void valueUpdated(DataFrame frame, String slot, Object value)    {	if (frame instanceof RelationFrame) {	    RelationFrame rframe = (RelationFrame) frame;	    synchronized (relation_lock) {		if (slot.startsWith("child")) {		    child_cache.remove(frame);		} else if (slot.startsWith("parent")) {		    parent_cache.remove(frame);		}	    }	    cacheRelation(rframe);	}	    	// Publish the frame itself as the change, or just a change	// record for the specific slot?	ArrayList changes = new ArrayList(1);	Frame.Change change = new Frame.Change(frame.getUID(), slot, value);	changes.add(change);	publishChange(frame, changes);    }