original_string: public function withoutAttribute($name)
      {
          $new = clone $this;
          if (in_array($name, $this->emulatedAttributes, true)) {
              throw new InvalidArgumentException(
                  "You cannot unset '$name'. It is a required CakePHP attribute."
              );
          }
          unset($new->attributes[$name]);
  
          return $new;
      }
code: public function withoutAttribute($name)
      {
          $new = clone $this;
          if (in_array($name, $this->emulatedAttributes, true)) {
              throw new InvalidArgumentException(
                  "You cannot unset '$name'. It is a required CakePHP attribute."
              );
          }
          unset($new->attributes[$name]);
  
          return $new;
      }
code_tokens: public function withoutAttribute ( $ name ) { $ new = clone $ this ; if ( in_array ( $ name , $ this -> emulatedAttributes , true ) ) { throw new InvalidArgumentException ( "You cannot unset '$name'. It is a required CakePHP attribute." ) ; } unset ( $ new -> attributes [ $ name ] ) ; return $ new ; }
docstring: Return an instance without the specified request attribute.
  
  @param string $name The attribute name.
  @return static
  @throws \InvalidArgumentException
docstring_tokens: Return an instance without the specified request attribute .