public function attributeLabels()
    {
        if (isset(static::$attributeLabelsList[static::class]) === false) {
            static::$attributeLabelsList[static::class] = isset($this->attributeLabels) === true
                ? $this->attributeLabels
                : [];
            foreach (static::getTraits() as $name) {
                if (null !== $attributeLabels = $this->callTraitMethod($name, 'AttributeLabels')) {
                    static::$attributeLabelsList[static::class] = ArrayHelper::merge(
                        static::$attributeLabelsList[static::class],
                        $attributeLabels
                    );
                }
            }
        }
        return static::$attributeLabelsList[static::class];
    }