original_string: protected function setScheme($scheme)
      {
          $scheme = strtolower($scheme);
          
          if ($scheme !== '' && !$this->isSupportedScheme($scheme)) {
              throw new \InvalidArgumentException("Invalid or unsupported scheme '$scheme'");
          }
          
          $this->scheme = $scheme;
      }
code: protected function setScheme($scheme)
      {
          $scheme = strtolower($scheme);
          
          if ($scheme !== '' && !$this->isSupportedScheme($scheme)) {
              throw new \InvalidArgumentException("Invalid or unsupported scheme '$scheme'");
          }
          
          $this->scheme = $scheme;
      }
code_tokens: protected function setScheme ( $ scheme ) { $ scheme = strtolower ( $ scheme ) ; if ( $ scheme !== '' && ! $ this -> isSupportedScheme ( $ scheme ) ) { throw new \ InvalidArgumentException ( "Invalid or unsupported scheme '$scheme'" ) ; } $ this -> scheme = $ scheme ; }
docstring: Set the scheme
  
  @param string $scheme
  @throws \InvalidArgumentException for invalid or unsupported schemes.
docstring_tokens: Set the scheme