original_string: public function removeSkill(ChildSkill $skill)
      {
          if ($this->getSkills()->contains($skill)) { $skillReference = new ChildSkillReference();
  
              $skillReference->setSkill($skill);
              if ($skill->isReferencesLoaded()) {
                  //remove the back reference if available
                  $skill->getReferences()->removeObject($this);
              }
  
              $skillReference->setReference($this);
              $this->removeSkillReference(clone $skillReference);
              $skillReference->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;
      }
code: public function removeSkill(ChildSkill $skill)
      {
          if ($this->getSkills()->contains($skill)) { $skillReference = new ChildSkillReference();
  
              $skillReference->setSkill($skill);
              if ($skill->isReferencesLoaded()) {
                  //remove the back reference if available
                  $skill->getReferences()->removeObject($this);
              }
  
              $skillReference->setReference($this);
              $this->removeSkillReference(clone $skillReference);
              $skillReference->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;
      }
code_tokens: public function removeSkill ( ChildSkill $ skill ) { if ( $ this -> getSkills ( ) -> contains ( $ skill ) ) { $ skillReference = new ChildSkillReference ( ) ; $ skillReference -> setSkill ( $ skill ) ; if ( $ skill -> isReferencesLoaded ( ) ) { //remove the back reference if available $ skill -> getReferences ( ) -> removeObject ( $ this ) ; } $ skillReference -> setReference ( $ this ) ; $ this -> removeSkillReference ( clone $ skillReference ) ; $ skillReference -> 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 ; }
docstring: Remove skill of this object
  through the kk_trixionary_skill_reference cross reference table.
  
  @param ChildSkill $skill
  @return ChildReference The current object (for fluent API support)
docstring_tokens: Remove skill of this object through the kk_trixionary_skill_reference cross reference table .