public static function fromArray(array $data): Descriptors
    {
        $descriptors = new static();

        if (!empty($data)) {
            foreach ($data as $descriptorData) {
                $descriptor = Descriptor::fromArray($descriptorData);
                $rootNamespace = $descriptor->getRootNamespace();

                $descriptors->add($descriptor, $rootNamespace);
            }
        }

        return $descriptors;
    }