public function buildFeature()
    {
        $conditions = array(
            'id' => $this->attribute('feature_definition_id'),
        );

        $this->featureDefinition = FeatureDefinition::fetchObject(
            FeatureDefinition::definition(),
            null,
            $conditions
        );
    }
    /**
     * @param string $featureCode
     * @param bool $force
     * @param bool $store
     * @return FeatureLocalized
     */
    public static function getFeatureLocalizedByCode($featureCode, $force = false, $store = true)
    {
        if(!$featureCode)
            return null;

        if ( !$force )
        {
            $featureLocalized = CacheFeatureTool::getValue('featureLocalizedByCode', $featureCode);

            if (!is_null($featureLocalized))
            {
                return $featureLocalized;
            }
        }

        if ( $force || !($featureLocalized instanceof FeatureLocalized))
        {
            $featureDefinition = FeatureDefinition::getFeatureDefintion($featureCode);
            if ($featureDefinition instanceof FeatureDefinition)
            {
                $featureLocalized = FeatureLocalized::getLocalizedFeatureByDefinitionId(
                    $featureDefinition->attribute('id')
                );
                if ($featureLocalized instanceof FeatureLocalized)
                {
                    self::buildCache($featureLocalized, $store);

                    return $featureLocalized;
                }
            }
        }

        return null;
    }