code up remove() method  ... Output->
... works. Use hint from worksheet.

-> Output of test shows that remove works

	$ java TestIntegerTreeNode
	Create a tree like in exercise sheet Figure 1 with 6, 9, 5, 3, 11, 12, 8
	Note toString now simplified
	Point (a) have started with 6 as head. toString gives: [6]
	   The tree contains 1 values. It has a depth of 0, sorted values:6
	Point (b) after 6, 9. toString gives: [6 [9]]
	   The tree contains 2 values. It has a depth of 1, sorted values:6, 9
	Point (c) after 6, 9, 5, 3 toString gives: [6 [5 [3]] [9]]
	   The tree contains 4 values. It has a depth of 2, sorted values:3, 5, 6, 9
	Point (d) after 6, 9, 5, 3, 11, 12, 8 toString gives: [6 [5 [3]] [9 [8] [11 [12]]]]
	   The tree contains 7 values. It has a depth of 3, sorted values:3, 5, 6, 8, 9, 11, 12
	check whether tree contains 11 (it does) gives: true
	check whether tree contains 10 (it does not) gives: false
	The maximum value in the tree is 12, getMax gives: 12
	The maximum value in the tree is 3, getMin gives: 3

	Now remove 8:
	debug remove 8 take out leaf to the left
	after removal:[6 [5 [3]] [9 [11 [12]]]]   The tree contains 6 values. It has a depth of 3, sorted values:3, 5, 6, 9, 11, 12

	Now remove 6:
	debug remove 6 got a non-leaf match
	debug remove 5 got a non-leaf match
	debug remove 3 take out leaf to the left
	after removal:[5 [3] [9 [11 [12]]]]   The tree contains 5 values. It has a depth of 3, sorted values:3, 5, 9, 11, 12

	Now remove 11:
	debug remove 11 got a non-leaf match
	debug remove 12 take out leaf to the right
	after removal:[5 [3] [9 [12]]]   The tree contains 4 values. It has a depth of 2, sorted values:3, 5, 9, 12

	Now remove 3:
	debug remove 3 take out leaf to the left
	after removal:[5 [9 [12]]]   The tree contains 3 values. It has a depth of 2, sorted values:5, 9, 12

	Now remove 12:
	debug remove 12 take out leaf to the right
	after removal:[5 [9]]   The tree contains 2 values. It has a depth of 1, sorted values:5, 9
code up remove() method  ... Output->
... extend test to include repeat values. There is a bug in implementation.

-> Output of test - start it loops infinitely

	$ java TestIntegerTreeNode  | less
	Create a tree like in exercise sheet Figure 1 with 6, 9, 5, 3, 11, 12, 8
	Note toString now simplified
	Point (a) have started with 6 as head. toString gives: [6]
	   The tree contains 1 values. It has a depth of 0, sorted values:6
	Point (b) after 6, 9. toString gives: [6 [9]]
	   The tree contains 2 values. It has a depth of 1, sorted values:6, 9
	Point (c) after 6, 9, 5, 3 toString gives: [6 [5 [3]] [9]]
	   The tree contains 4 values. It has a depth of 2, sorted values:3, 5, 6, 9
	Point (d) after 6, 9, 5, 3, 11, 12, 8 toString gives: [6 [5 [3]] [9 [8] [11 [12]]]]
	   The tree contains 7 values. It has a depth of 3, sorted values:3, 5, 6, 8, 9, 11, 12
	check whether tree contains 11 (it does) gives: true
	check whether tree contains 10 (it does not) gives: false
	The maximum value in the tree is 12, getMax gives: 12
	The maximum value in the tree is 3, getMin gives: 3
	to make removal more challenging add two more sixes and two more 8's
	tree now: [6 [5 [3] [6 [6]]] [9 [8 [8 [8]]] [11 [12]]]]   The tree contains 11 values. It has a depth of 4, sorted values:3, 5, 6, 6, 6, 8, 8, 8, 9, 11, 12

	Now remove the 0st/nd/rd 8
	debug remove 8 got a non-leaf match
	debug remove 8 got a non-leaf match
	debug remove 8 got a non-leaf match
	.....
write up remove work and hyperlink tree rotation