protected void removeNode(IEclipsePreferences child) { boolean wasRemoved = false; synchronized (this) { if (children != null) { wasRemoved = children.remove(child.name()) != null; if (wasRemoved) makeDirty(); if (children.isEmpty()) children = null;
public void removeNode() throws BackingStoreException {  checkRemoved();   String[] keys = keys(); for (int i = 0; i < keys.length; i++) remove(keys[i]);   if (parent != null && !(parent instanceof RootPreferences)) {  removed = true; parent.removeNode(this); } IEclipsePreferences[] childNodes = getChildren(false); for (int i = 0; i < childNodes.length; i++) try { childNodes[i].removeNode(); } catch (IllegalStateException e) {
	protected void removeNode(IEclipsePreferences child) {		boolean wasRemoved = false;		synchronized (this) {			if (children != null) {				wasRemoved = children.remove(child.name()) != null;				if (wasRemoved)					makeDirty();				if (children.isEmpty())					children = null;			}		}		if (wasRemoved)			fireNodeEvent(new NodeChangeEvent(this, child), false);	}