public void prettyPrint(int ident, boolean putLeft, TreeSet<Integer> verticalLines, String repr)
    {

    	if (right != null)
	        if (putLeft) {
	            
	        	right.prettyPrint(ident + 1, true, verticalLines, repr + "0");
	        }
	        else {
	            
	            TreeSet<Integer> leftVerticalLines = new TreeSet<Integer>(verticalLines);
	
	            leftVerticalLines.add(ident - 1);
	            
	            right.prettyPrint(ident + 1, true, leftVerticalLines, repr + "0");
	        }
        


        
        for (int i = 0; i < ident - 1; ++i) {
            if (verticalLines.contains(i)) {
                System.out.print("|   ");
            }
            else {
                System.out.print("    ");
            }
        }
        
        if (ident >= 1) { 
            System.out.print((putLeft ? "," : "'") + "---");
        }
        
        System.out.println(number + "-" + weight + " " + (symbol != 0?symbol + " '" + repr + "'":""));
        
        if (left != null)
	        if (putLeft) {
	            
	            TreeSet<Integer> rightVerticalLines = new TreeSet<Integer>(verticalLines);
	            
	            rightVerticalLines.addAll(verticalLines);
	            rightVerticalLines.add(ident - 1);
	            
	            left.prettyPrint(ident + 1, false, rightVerticalLines, repr + "1");
	        }
	        else {
	        	left.prettyPrint(ident + 1, false, verticalLines, repr + "1");
	        }
    }