/// <summary>
        ///   Take the fields of the index and take value from the query
        /// </summary>
        /// <param name="index"> The index </param>
        /// <returns> The key of the index </returns>
        protected virtual IOdbComparable ComputeIndexKey(ClassInfoIndex index)
        {
            var attributesNames = ClassInfo.GetAttributeNames(index.AttributeIds);
            var constraint      = Query.GetCriteria();
            var values          = ((IInternalConstraint)constraint).GetValues();

            return(IndexTool.BuildIndexKey(index.Name, values, attributesNames));
        }