function draw(){
	d3.select('#svgarea').select('g').selectAll('*').remove();
	drawnRoot.refreshCoordinates();
	drawnRoot.drawBranches();
	drawnRoot.drawNodes();
}
/**
 * Initializes the drawing process:
 * - clear the scene
 * - updates root's coordinates (domino effect, because every child will be updated)
 * - draws branches				(same here)
 * - draws children				(and here)
 */
Initializes the drawing process:
- clear the scene
- updates root's coordinates (domino effect, because every child will be updated)
- draws branches                             (same here)
- draws children                             (and here)
Initializes the drawing process : - clear the scene - updates root ' s coordinates ( domino effect because every child will be updated ) - draws branches ( same here ) - draws children ( and here )
function draw(){
	d3.select('#svgarea').select('g').selectAll('*').remove();
	drawnRoot.refreshCoordinates();
	drawnRoot.drawBranches();
	drawnRoot.drawNodes();
}
function draw ( ) { d3 . select ( '#svgarea' ) . select ( 'g' ) . selectAll ( '*' ) . remove ( ) ; drawnRoot . refreshCoordinates ( ) ; drawnRoot . drawBranches ( ) ; drawnRoot . drawNodes ( ) ; }
Initializes the drawing process:
 - clear the scene
 - updates root's coordinates (domino effect, because every child will be updated)
 - draws branches                             (same here)
 - draws children                             (and here)
Initializes the drawing process : - clear the scene - updates root ' s coordinates ( domino effect because every child will be updated ) - draws branches ( same here ) - draws children ( and here )