/// <summary>
        /// Determines equality between to <see cref="SynchrophasorAnalytics.Modeling.VoltageLevel"/> objects
        /// </summary>
        /// <param name="target">The target object for equality testing.</param>
        /// <returns>A bool representing the result of the equality check.</returns>
        public override bool Equals(object target)
        {
            // If parameter is null return false.
            if (target == null)
            {
                return(false);
            }

            // If parameter cannot be cast to PhasorBase return false.
            VoltageLevel voltageLevel = target as VoltageLevel;

            if ((object)voltageLevel == null)
            {
                return(false);
            }

            // Return true if the fields match:
            if (this.m_internalID != voltageLevel.InternalID)
            {
                return(false);
            }
            else if (this.m_voltageLevel != voltageLevel.Value)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        /// <summary>
        /// Performs a deep copy of the target <see cref="SynchrophasorAnalytics.Modeling.VoltageLevel"/> object.
        /// </summary>
        /// <returns>A deep copy of the target <see cref="SynchrophasorAnalytics.Modeling.VoltageLevel"/> object.</returns>
        public VoltageLevel DeepCopy()
        {
            VoltageLevel copy = (VoltageLevel)this.MemberwiseClone();

            return(copy);
        }