public synchronized final boolean removeNode(String relName, INode child) {
if (children.remove(relName, (T) child)) {
fireNodeRemoved(child, relName);
public synchronized final boolean removeNode(String relName, INode child) {
if (children.remove(relName, (T) child)) {
fireNodeRemoved(child, relName);
for (T child : nodes) {
if (children.remove(relName, (T) child)) {
fireNodeRemoved(child, relName);
for (T child : nodes) {
if (children.remove(relName, (T) child)) {
fireNodeRemoved(child, relName);