protected function buildGroupChain(ClassMetadata $metadata, $groups) { if (is_null($groups)) { $groups = array(Constraint::DEFAULT_GROUP); } else { $groups = (array) $groups; } $chain = new GroupChain(); foreach ($groups as $group) { if ($group == Constraint::DEFAULT_GROUP && $metadata->hasGroupSequence()) { $chain->addGroupSequence($metadata->getGroupSequence()); } else { $chain->addGroup($group); } } return $chain; }