/// <summary>Gets the value.</summary>
        /// <value>The value.</value>
        public double Value(int arrayIndex = -1)
        {
            object s = locator.Get(PropertyName);

            string PropertyString;

            if (s == null)
            {
                PropertyString = "";
            }
            else if (s is Array)
            {
                PropertyString = (string)(s as Array).GetValue(arrayIndex);
            }
            else if (s is IFunction)
            {
                PropertyString = (s as IFunction).Value(arrayIndex).ToString();
            }
            else
            {
                PropertyString = (string)s;
            }

            bool stringCompareTrue = PropertyString.Equals(StringValue, StringComparison.CurrentCultureIgnoreCase);

            if (stringCompareTrue)
            {
                return(TrueValue.Value(arrayIndex));
            }
            else
            {
                return(FalseValue.Value(arrayIndex));
            }
        }