original_string: public function getParam($key)
      {
          if (method_exists($this, 'get'.$key)) {
              return $this->{'get'.$key}();
          }
  
          // always use uppercase
          $key = strtoupper($key);
          $parameters = array_change_key_case($this->parameters, CASE_UPPER);
          if (!array_key_exists($key, $parameters)) {
              throw new InvalidArgumentException('Parameter ' . $key . ' does not exist.');
          }
  
          return $parameters[$key];
      }
code: public function getParam($key)
      {
          if (method_exists($this, 'get'.$key)) {
              return $this->{'get'.$key}();
          }
  
          // always use uppercase
          $key = strtoupper($key);
          $parameters = array_change_key_case($this->parameters, CASE_UPPER);
          if (!array_key_exists($key, $parameters)) {
              throw new InvalidArgumentException('Parameter ' . $key . ' does not exist.');
          }
  
          return $parameters[$key];
      }
code_tokens: public function getParam ( $ key ) { if ( method_exists ( $ this , 'get' . $ key ) ) { return $ this -> { 'get' . $ key } ( ) ; } // always use uppercase $ key = strtoupper ( $ key ) ; $ parameters = array_change_key_case ( $ this -> parameters , CASE_UPPER ) ; if ( ! array_key_exists ( $ key , $ parameters ) ) { throw new InvalidArgumentException ( 'Parameter ' . $ key . ' does not exist.' ) ; } return $ parameters [ $ key ] ; }
docstring: Retrieves a response parameter
  @param string $param
  @throws \InvalidArgumentException
docstring_tokens: Retrieves a response parameter