public object TestGetValue(object value)
        {
            string key = "key";

            if (value is double)
            {
                m_table.PutNumber(key, (double)value);
            }
            else if (value is string)
            {
                m_table.PutString(key, (string)value);
            }
            else if (value is bool)
            {
                m_table.PutBoolean(key, (bool)value);
            }
            else if (value is byte[])
            {
                m_table.PutValue(key, (byte[])value);
            }
            else if (value is double[])
            {
                m_table.PutNumberArray(key, (double[])value);
            }
            else if (value is bool[])
            {
                m_table.PutBooleanArray(key, (bool[])value);
            }
            else if (value is string[])
            {
                m_table.PutStringArray(key, (string[])value);
            }
            else
            {
                throw new ArgumentException("Value is either null or an invalid type.");
            }
            return(m_table.GetValue(key));
        }