original_string: public function traverse(callable $visitor)
      {
          if ($this->_query) {
              return;
          }
  
          if (!$this->_castedExpressions) {
              $this->_processExpressions();
          }
  
          foreach ($this->_values as $v) {
              if ($v instanceof ExpressionInterface) {
                  $v->traverse($visitor);
              }
              if (!is_array($v)) {
                  continue;
              }
              foreach ($v as $column => $field) {
                  if ($field instanceof ExpressionInterface) {
                      $visitor($field);
                      $field->traverse($visitor);
                  }
              }
          }
      }
code: public function traverse(callable $visitor)
      {
          if ($this->_query) {
              return;
          }
  
          if (!$this->_castedExpressions) {
              $this->_processExpressions();
          }
  
          foreach ($this->_values as $v) {
              if ($v instanceof ExpressionInterface) {
                  $v->traverse($visitor);
              }
              if (!is_array($v)) {
                  continue;
              }
              foreach ($v as $column => $field) {
                  if ($field instanceof ExpressionInterface) {
                      $visitor($field);
                      $field->traverse($visitor);
                  }
              }
          }
      }
code_tokens: public function traverse ( callable $ visitor ) { if ( $ this -> _query ) { return ; } if ( ! $ this -> _castedExpressions ) { $ this -> _processExpressions ( ) ; } foreach ( $ this -> _values as $ v ) { if ( $ v instanceof ExpressionInterface ) { $ v -> traverse ( $ visitor ) ; } if ( ! is_array ( $ v ) ) { continue ; } foreach ( $ v as $ column => $ field ) { if ( $ field instanceof ExpressionInterface ) { $ visitor ( $ field ) ; $ field -> traverse ( $ visitor ) ; } } } }
docstring: Traverse the values expression.
  
  This method will also traverse any queries that are to be used in the INSERT
  values.
  
  @param callable $visitor The visitor to traverse the expression with.
  @return void
docstring_tokens: Traverse the values expression .