/// <summary>
 /// Initialises an instance from another.
 /// </summary>
 /// <param name="dateTimePoint"></param>
 public DateTimePoint(DateTimePoint <TValue> dateTimePoint)
 {
     _ = dateTimePoint
         ?? throw new ArgumentNullException(nameof(dateTimePoint));
     this.Time  = dateTimePoint.Time;
     this.Value = dateTimePoint.Value;
 }
 /// <inheritdoc />
 public bool Equals([AllowNull] DateTimePoint <TValue> other)
 {
     if (other != null)
     {
         return(this.Time.Equals(other.Time) &&
                (((this.Value == null) && (other.Value == null)) ||
                 this.Value.Equals(other.Value)));
     }
     else
     {
         return(false);
     }
 }
 /// <inheritdoc />
 public int CompareTo(DateTimePoint <TValue> other)
 {
     return(this.Time.CompareTo(other.Time));
 }