public function removeSkill(ChildSkill $skill)
    {
        if ($this->getSkills()->contains($skill)) { $skillGroup = new ChildSkillGroup();

            $skillGroup->setSkill($skill);
            if ($skill->isGroupsLoaded()) {
                //remove the back reference if available
                $skill->getGroups()->removeObject($this);
            }

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

            $this->collSkills->remove($this->collSkills->search($skill));

            if (null === $this->skillsScheduledForDeletion) {
                $this->skillsScheduledForDeletion = clone $this->collSkills;
                $this->skillsScheduledForDeletion->clear();
            }

            $this->skillsScheduledForDeletion->push($skill);
        }


        return $this;
    }