original_string: public function addCase($conditions, $values = [], $types = [])
      {
          return $this->add(new CaseExpression($conditions, $values, $types));
      }
code: public function addCase($conditions, $values = [], $types = [])
      {
          return $this->add(new CaseExpression($conditions, $values, $types));
      }
code_tokens: public function addCase ( $ conditions , $ values = [ ] , $ types = [ ] ) { return $ this -> add ( new CaseExpression ( $ conditions , $ values , $ types ) ) ; }
docstring: Adds a new case expression to the expression object
  
  @param array|\Cake\Database\ExpressionInterface $conditions The conditions to test. Must be a ExpressionInterface
  instance, or an array of ExpressionInterface instances.
  @param array|\Cake\Database\ExpressionInterface $values associative array of values to be associated with the conditions
  passed in $conditions. If there are more $values than $conditions, the last $value is used as the `ELSE` value
  @param array $types associative array of types to be associated with the values
  passed in $values
  @return $this
docstring_tokens: Adds a new case expression to the expression object