/// <summary>
 /// Creates a new <see cref="DataCellBase"/> from specified parameters.
 /// </summary>
 /// <param name="parent">The reference to parent <see cref="IDataFrame"/> of this <see cref="DataCellBase"/>.</param>
 /// <param name="configurationCell">The <see cref="IConfigurationCell"/> associated with this <see cref="DataCellBase"/>.</param>
 /// <param name="statusFlags">The default status flags to apply to this <see cref="DataCellBase"/>.</param>
 /// <param name="maximumPhasors">Sets the maximum number of phasors for the <see cref="PhasorValues"/> collection.</param>
 /// <param name="maximumAnalogs">Sets the maximum number of phasors for the <see cref="AnalogValues"/> collection.</param>
 /// <param name="maximumDigitals">Sets the maximum number of phasors for the <see cref="DigitalValues"/> collection.</param>
 protected DataCellBase(IDataFrame parent, IConfigurationCell configurationCell, ushort statusFlags, int maximumPhasors, int maximumAnalogs, int maximumDigitals)
     : base(parent, 0)
 {
     m_configurationCell = configurationCell;
     m_statusFlags       = statusFlags;
     m_phasorValues      = new PhasorValueCollection(maximumPhasors);
     m_analogValues      = new AnalogValueCollection(maximumAnalogs);
     m_digitalValues     = new DigitalValueCollection(maximumDigitals);
 }
 /// <summary>
 /// Creates a new <see cref="DataCellBase"/> from serialization parameters.
 /// </summary>
 /// <param name="info">The <see cref="SerializationInfo"/> with populated with data.</param>
 /// <param name="context">The source <see cref="StreamingContext"/> for this deserialization.</param>
 protected DataCellBase(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     // Deserialize data cell values
     m_configurationCell = (IConfigurationCell)info.GetValue("configurationCell", typeof(IConfigurationCell));
     m_statusFlags       = info.GetUInt16("statusFlags");
     m_phasorValues      = (PhasorValueCollection)info.GetValue("phasorValues", typeof(PhasorValueCollection));
     m_frequencyValue    = (IFrequencyValue)info.GetValue("frequencyValue", typeof(IFrequencyValue));
     m_analogValues      = (AnalogValueCollection)info.GetValue("analogValues", typeof(AnalogValueCollection));
     m_digitalValues     = (DigitalValueCollection)info.GetValue("digitalValues", typeof(DigitalValueCollection));
     m_statusAssigned    = true;
 }