} else { child.setPropertyValue(SVNProperty.REVISION, revision);
    public void merge() throws SVNException {        String revision = getPropertyValue(SVNProperty.REVISION);        Set obstructedChildren = new HashSet();        if (myChildren != null) {            for(Iterator children = childEntries(); children.hasNext();) {                ISVNEntry child = (ISVNEntry) children.next();                if (child.isScheduledForAddition() || child.isScheduledForDeletion()) {                    // obstructed!                    obstructedChildren.add(child.getName());                }                child.merge();            }        }        super.merge();        // update revision in all direct entries (but obstructed!)        // if it is was not a single child file update!        for(Iterator entries = myChildEntries.values().iterator(); entries.hasNext();) {            Map entry = (Map) entries.next();            if (!obstructedChildren.contains(entry.get(SVNProperty.NAME))) {                entry.put(SVNProperty.REVISION, revision);            }        }        myDeletedEntries = null;        saveEntries();    }