protected function parseFieldGroupConfig($id, $config)
 {
     $FGCNode = $this->XPath->evaluate('//FieldGroupConfig[@id="' . $id . '"]')->item(0);
     if ($FGCNode === null) {
         throw new InvalidFieldGroupConfigException('Invalid field group config structure.');
     }
     $FG = new FieldGroup($FGCNode, $this->XPath, $this->lang, $this->rootConfigID === $id, $this->attributes, $this->coefficients);
     $FG->parse();
     $config = array_merge_recursive($config, $FG->toArray());
     if ($FG->hasChildGroups() === true) {
         foreach ($FG->getChildGroups() as $chg) {
             $config = $this->parseFieldGroupConfig($chg, $config);
         }
     }
     return $config;
 }