dbm.notifyDataChange();
dbm.setLastDataChange(now);
    public void replicateCache(Vector add, Vector delete) {        if (logReplication) {            app.logEvent("Received cache replication event: " + add.size() + " added, " +                         delete.size() + " deleted");        }        synchronized (cache) {            for (Enumeration en = add.elements(); en.hasMoreElements();) {                Node n = (Node) en.nextElement();                DbMapping dbm = app.getDbMapping(n.getPrototype());                if (dbm != null) {                    dbm.notifyDataChange();                }                n.lastParentSet = -1;                n.setDbMapping(dbm);                n.nmgr = safe;                cache.put(n.getKey(), n);            }            for (Enumeration en = delete.elements(); en.hasMoreElements();) {                // NOTE: it would be more efficient to transfer just the keys                // of nodes that are to be deleted.                Node n = (Node) en.nextElement();                DbMapping dbm = app.getDbMapping(n.getPrototype());                if (dbm != null) {                    dbm.notifyDataChange();                }                n.setDbMapping(dbm);                n.nmgr = safe;                Node oldNode = (Node) cache.get(n.getKey());                if (oldNode != null) {                    evictNode(oldNode);                }            }        }    }