void deleteSubTree( Node node )
	{
	   // recursion stopping condition
	   if ( node != null )
	   {
		   // recursive call for right sibling
		   if ( node.rightSibling != null )
		      deleteSubTree( node.rightSibling );
		   // recursive call for first son
		   if ( node.sons != null )
		      deleteSubTree( node.sons );
		   // encourage garbage collection
		   node = null;
	   }
	}