synchronized(parent) { synchronized(this) {
synchronized (parent.lock) { synchronized(this.lock) {
	public void removeNode() throws BackingStoreException {		// Check if it is a root node		if (parent == null)			throw new UnsupportedOperationException("Cannot remove root node");        synchronized(parent) {            synchronized(this) {				if (isRemoved())					throw new IllegalStateException("Node Removed");				purge();			}			parent.childCache.remove(name);		}	}