/// <summary>
    /// Initializes the instance with its defalt attribute values.
    /// </summary>
    public _ClassName_Value(_ClassName_State variable, _DataType_ value, object dataLock) : base(dataLock)
    {
        m_value = value;

        if (m_value == null)
        {
            m_value = new _DataType_();
        }

        Initialize(variable);
    }
    /// <summary>
    /// Initializes the object.
    /// </summary>
    private void Initialize(_ClassName_State variable)
    {
        lock (Lock)
        {
            m_variable = variable;

            variable.Value = m_value;

            variable.OnReadValue        = OnReadValue;
            variable.OnSimpleWriteValue = OnWriteValue;

            BaseVariableState        instance   = null;
            List <BaseInstanceState> updateList = new List <BaseInstanceState>();
            updateList.Add(variable);

            // ListOfChildInitializers

            SetUpdateList(updateList);
        }
    }