original_string: public function addSkill(ChildSkill $skill)
      {
          if ($this->collSkills === null) {
              $this->initSkills();
          }
  
          if (!$this->getSkills()->contains($skill)) {
              // only add it if the **same** object is not already associated
              $this->collSkills->push($skill);
              $this->doAddSkill($skill);
          }
  
          return $this;
      }
code: public function addSkill(ChildSkill $skill)
      {
          if ($this->collSkills === null) {
              $this->initSkills();
          }
  
          if (!$this->getSkills()->contains($skill)) {
              // only add it if the **same** object is not already associated
              $this->collSkills->push($skill);
              $this->doAddSkill($skill);
          }
  
          return $this;
      }
code_tokens: public function addSkill ( ChildSkill $ skill ) { if ( $ this -> collSkills === null ) { $ this -> initSkills ( ) ; } if ( ! $ this -> getSkills ( ) -> contains ( $ skill ) ) { // only add it if the **same** object is not already associated $ this -> collSkills -> push ( $ skill ) ; $ this -> doAddSkill ( $ skill ) ; } return $ this ; }
docstring: Associate a ChildSkill to this object
  through the kk_trixionary_skill_group cross reference table.
  
  @param ChildSkill $skill
  @return ChildGroup The current object (for fluent API support)
docstring_tokens: Associate a ChildSkill to this object through the kk_trixionary_skill_group cross reference table .