private function parseGroup(array $item) : Group
    {
        $type = strtoupper($item['group']);

        if ( ! in_array($type, self::GROUP_TYPES))
        {
            throw new OptionLoaderException(
                "Unrecognised group type $type",
                $item
            );
        }

        $groupClass = self::GROUP_NAMESPACE."${type}Group";

        $group = new $groupClass();

        $name = $item['name'] ?? null;

        if (isset($name))
        {
            $group->setName($name);

            $this->groupCatalogue[$group->getName()] = $group;
        }

        foreach ($this->itterator($item['members']) as $object)
        {
            $group->add($object);
        }

        return $group;
    }
private function parseGroup(array $item) : Group
    {
        $type = strtoupper($item['group']);

        if ( ! in_array($type, self::GROUP_TYPES))
        {
            throw new OptionLoaderException(
                "Unrecognised group type $type",
                $item
            );
        }

        $groupClass = self::GROUP_NAMESPACE."${type}Group";

        $group = new $groupClass();

        $name = $item['name'] ?? null;

        if (isset($name))
        {
            $group->setName($name);

            $this->groupCatalogue[$group->getName()] = $group;
        }

        foreach ($this->itterator($item['members']) as $object)
        {
            $group->add($object);
        }

        return $group;
    }
private function parseGroup ( array $ item ) : Group { $ type = strtoupper ( $ item [ 'group' ] ) ; if ( ! in_array ( $ type , self :: GROUP_TYPES ) ) { throw new OptionLoaderException ( "Unrecognised group type $type" , $ item ) ; } $ groupClass = self :: GROUP_NAMESPACE . "${type}Group" ; $ group = new $ groupClass ( ) ; $ name = $ item [ 'name' ] ?? null ; if ( isset ( $ name ) ) { $ group -> setName ( $ name ) ; $ this -> groupCatalogue [ $ group -> getName ( ) ] = $ group ; } foreach ( $ this -> itterator ( $ item [ 'members' ] ) as $ object ) { $ group -> add ( $ object ) ; } return $ group ; }
Parse a group from file data structure

@param array $item

@return Group
Parse a group from file data structure