using System.Collections.Generic; public class EmptyNode : TreeMapNode { //static V values; // Use this for initialization public EmptyNode() : base(default(K), default(V)) { } public EmptyNode(K key) : base(key, default(V)) { } public override TreeMapNode lefts() { return new EmptyNode(); } public override TreeMapNode rights() { return new EmptyNode(); } public override bool isNotEmpty() { return false; } public override TreeMapNode createNode(K key, V value, TreeMapNode left, TreeMapNode right) { return new RedNode(key, value, new EmptyNode(), new EmptyNode()); } public TreeMapNode put(K k, V value) { return new RedNode(k, value, new EmptyNode(), new EmptyNode()); } //I don't know only Comparator method. public override rebuildNode replaceNode(TreeMapNode parent, Comparer ctr) { // not use method return new rebuildNode(false, this); } public override rebuildNode deleteNode() { return new rebuildNode(false, this); } public override TreeMapNode insBalance() { return insBalance(); } public override Rotate checkRotate(Rotate side) { return Rotate.N; } public override bool isRed() { return false; } public override int checkDepth(int count, int minCount) { // test method if (count < minCount || minCount == 0) { minCount = count; } //c# is there assert?? //Assert.assertTrue(count <= 2 * minCount); return minCount; } }