/// <summary>
        /// Update species fact field.
        /// </summary>
        /// <param name="hasValue">Indication if value has been set.</param>
        /// <param name="value">New value.</param>
        public void Update(Boolean hasValue, Object value)
        {
            HasValue = hasValue;
            if (HasValue)
            {
                if (IsTextField)
                {
                    if (value.IsNull())
                    {
                        _stringValue = null;
                    }
                    else
                    {
                        _stringValue = value.ToString();
                    }
                }
                else
                {
                    _numericValue = (Double)value;
                    _stringValue  = null;
                }
            }

            OldHasValue = hasValue;
            if (OldHasValue)
            {
                OldValue = Value;
                if (OldValue.IsNull())
                {
                    HasValue    = false;
                    OldHasValue = false;
                }
            }
            else
            {
                OldValue = null;
            }
        }