public function putSelectFields($objBuilder, $strPrefix = null, $objSelect = null)
    {
        if ($strPrefix) {
            $strTableName = $strPrefix;
            $strAliasPrefix = $strPrefix . '__';
        } else {
            $strTableName = $this->strTableName;
            $strAliasPrefix = '';
        }

        if ($objSelect) {
            if (!$objSelect->skipPrimaryKey() && !$objBuilder->Distinct) {
                $strFields = $this->primaryKeyFields();
                foreach ($strFields as $strField) {
                    $objBuilder->addSelectItem($strTableName, $strField, $strAliasPrefix . $strField);
                }
            }
            $objSelect->addSelectItems($objBuilder, $strTableName, $strAliasPrefix);
        } else {
            $strFields = $this->fields();
            foreach ($strFields as $strField) {
                $objBuilder->addSelectItem($strTableName, $strField, $strAliasPrefix . $strField);
            }
        }
    }