public void SetAsNode(int? value, int? leftValue, int? rightValue, BitArray bt) { if (value.HasValue) { Value = value.Value; } else { Value = -1; } if (leftValue.HasValue) { Left = new Id(leftValue.Value); } else { Left = new Id(); Left.Decode(bt); } if (rightValue.HasValue) { Right = new Id(rightValue.Value); } else { Right = new Id(); Right.Decode(bt); } }