public TreeBuilder <TValue> WithRightLeaf(TValue value) { var builder = new TreeBuilderWithValue <TValue>(null, null, value); _right = builder; return(this); }
public TreeBuilder <TValue> WithRight(Func <TreeBuilder <TValue>, TreeBuilderWithValue <TValue> > setup) { var builder = new TreeBuilder <TValue>(); _right = setup(builder); return(this); }
public TreeBuilderWithValue( TreeBuilderWithValue <TValue> left, TreeBuilderWithValue <TValue> right, TValue value) { _left = left; _right = right; _value = value; }