final public static function names()
    {
        $result = [];
        $classes = self::hierarchy(\get_called_class());

        /* @var $class ReflectionClass */
        foreach ($classes as $class) {
            $result = \array_merge(self::namesFor($class->name), $result);
        }

        return $result;
    }