function addDiscussionStream(root, pOdd){
	if(root == undefined)return;
	var odd = pOdd == undefined ? 0 : pOdd;
	var map = undefined;
	var level;
	switch(root.constructor.name){
	case 'Publication':
		map = questionsMap;
		level = 0;
		break;
	case 'Question':
		map = answersMap;
		level = 1;
		break;
	case 'Answer':
		map = argumentsMap;
		level = 2;
		break;
	case 'Argument':
		level = 3;
		break;
	}
	if(level != 0){
		drawDivision(odd, root, level);
		if(level == 3)return;
	}
	for(var [key, child] of map){
		if(root.pubId == 0 || child.parent == root.pubId){
			odd++;
			addDiscussionStream(child, odd);
		}
	}
}
/**
 * Repaints the discussion stream <div>
 * @param root		(Publication) At the first time, when you call yourself this function, this root is the root of the stream (it's not the general root, it's the node from which you want to display
 * the discussion stream. fFr example, you can display the stream from a question. The stream is then composed of question's answers and answers' arguments). The function is recursive and will call
 * itself the function for every child.
 * @param pOdd 		(int) flag used to alternate colors
 * 
 */
Repaints the discussion stream 
@param root          (Publication) At the first time, when you call yourself this function, this root is the root of the stream (it's not the general root, it's the node from which you want to display
the discussion stream. fFr example, you can display the stream from a question. The stream is then composed of question's answers and answers' arguments). The function is recursive and will call
itself the function for every child.
@param pOdd          (int) flag used to alternate colors
Repaints the discussion stream @param root ( Publication ) At the first time when you call yourself this function this root is the root of the stream ( it ' s not the general root it ' s the node from which you want to display the discussion stream . fFr example you can display the stream from a question . The stream is then composed of question ' s answers and answers ' arguments ) . The function is recursive and will call itself the function for every child . @param pOdd ( int ) flag used to alternate colors
function addDiscussionStream(root, pOdd){
	if(root == undefined)return;
	var odd = pOdd == undefined ? 0 : pOdd;
	var map = undefined;
	var level;
	switch(root.constructor.name){
	case 'Publication':
		map = questionsMap;
		level = 0;
		break;
	case 'Question':
		map = answersMap;
		level = 1;
		break;
	case 'Answer':
		map = argumentsMap;
		level = 2;
		break;
	case 'Argument':
		level = 3;
		break;
	}
	if(level != 0){
		drawDivision(odd, root, level);
		if(level == 3)return;
	}
	for(var [key, child] of map){
		if(root.pubId == 0 || child.parent == root.pubId){
			odd++;
			addDiscussionStream(child, odd);
		}
	}
}
function addDiscussionStream ( root , pOdd ) { if ( root == undefined ) return ; var odd = pOdd == undefined ? 0 : pOdd ; var map = undefined ; var level ; switch ( root . constructor . name ) { case 'Publication' : map = questionsMap ; level = 0 ; break ; case 'Question' : map = answersMap ; level = 1 ; break ; case 'Answer' : map = argumentsMap ; level = 2 ; break ; case 'Argument' : level = 3 ; break ; } if ( level != 0 ) { drawDivision ( odd , root , level ) ; if ( level == 3 ) return ; } for ( var [ key , child ] of map ) { if ( root . pubId == 0 || hild. p arent  =  oot. p ubId) { odd ++ ; addDiscussionStream ( child , odd ) ; } } }
Repaints the discussion stream <div>
 @param root          (Publication) At the first time, when you call yourself this function, this root is the root of the stream (it's not the general root, it's the node from which you want to display
 the discussion stream.
Repaints the discussion stream <div > @param root ( Publication ) At the first time when you call yourself this function this root is the root of the stream ( it ' s not the general root it ' s the node from which you want to display the discussion stream .