/**
     * This loads an expanded array of CustomFieldSelections and their associated values
     * The values for each selection can be accessed by looping through: $CustomFieldSelections[$i]->CustomFieldValue->ShortDescription
     *
     * @param integer $intAssetId
     * @param integer $intCustomAssetFieldId
     * @param string $strOrderBy
     * @param string $strLimit
     * @param ExpansionMap Object $objExpansionMap
     * @return CustomAssetFieldSelection
     */
    public static function LoadExpandedArray($intEntityId, $intEntityQtypeId, $intCustomFieldId, $strOrderBy = null, $strLimit = null, $objExpansionMap = null)
    {
        // Expand to include Values
        $objExpansionMap[CustomFieldSelection::ExpandCustomFieldValue] = true;
        // Call to ArrayQueryHelper to Get Database Object and Get SQL Clauses
        CustomFieldSelection::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase);
        // Properly Escape All Input Parameters using Database->SqlVariable()
        $intEntityId = $objDatabase->SqlVariable($intEntityId);
        $intEntityQtypeId = $objDatabase->SqlVariable($intEntityQtypeId);
        $intCustomFieldId = $objDatabase->SqlVariable($intCustomFieldId);
        $strQuery = sprintf('
				SELECT
					%s
					`custom_field_selection`.*
					%s
				FROM
					`custom_field_selection`
					%s
				WHERE
					`custom_field_selection` . `entity_id` = %s AND
					`custom_field_selection` . `entity_qtype_id` = %s AND
					`custom_field_selection__custom_field_value_id` . `custom_field_id` = %s
				%s
				%s', $strLimitPrefix, $strExpandSelect, $strExpandFrom, $intEntityId, $intEntityQtypeId, $intCustomFieldId, $strOrderBy, $strLimitSuffix);
        // Perform the Query and Instantiate the Result
        $objDbResult = $objDatabase->Query($strQuery);
        return CustomFieldSelection::InstantiateDbRow($objDbResult->GetNextRow());
    }