public function removeGroup(ChildGroup $group)
    {
        if ($this->getGroups()->contains($group)) { $skillGroup = new ChildSkillGroup();

            $skillGroup->setGroup($group);
            if ($group->isSkillsLoaded()) {
                //remove the back reference if available
                $group->getSkills()->removeObject($this);
            }

            $skillGroup->setSkill($this);
            $this->removeSkillGroup(clone $skillGroup);
            $skillGroup->clear();

            $this->collGroups->remove($this->collGroups->search($group));

            if (null === $this->groupsScheduledForDeletion) {
                $this->groupsScheduledForDeletion = clone $this->collGroups;
                $this->groupsScheduledForDeletion->clear();
            }

            $this->groupsScheduledForDeletion->push($group);
        }


        return $this;
    }