public void AddNumber(Number value) { if (value is double? || value is float?) { Writer.writeFloatingPointNumber(RepresentationType.ValueOf(value.GetType()), value.doubleValue()); } else { CheckThatItIsBuiltInType(value); Writer.writeInteger(RepresentationType.ValueOf(value.GetType()), value.longValue()); } }