private void nodeEnd( Node node, NodeEvent e )
	{
		final Group group	= node.getGroup();
		final Node	pred	= node.getPredNode();
		final Node	succ	= node.getSuccNode();
//System.err.println( "Removing "+node );
//System.err.println( " ... pred "+pred );
//System.err.println( " ... succ "+succ );
	
		node.setGroup( null );
		node.setPredNode( null );
		node.setSuccNode( null );
		if( pred != null ) pred.setSuccNode( succ );
		if( succ != null ) succ.setPredNode( pred );
		
		if( group != null ) {
			if( (group.getHeadNode() != null) && (group.getHeadNode().getNodeID() == node.getNodeID()) ) {
				group.setHeadNode( succ );
			}
			if( (group.getTailNode() != null) && (group.getTailNode().getNodeID() == node.getNodeID()) ) {
				group.setTailNode( pred );
			}
		}

		node.setPlaying( false );
		node.setRunning( false );
		mapNodes.remove( new Integer( node.getNodeID() ));

		if( VERBOSE ) System.err.println( "NodeWatcher.nodeEnd( " + node + " )" );
	}