original_string: public function call($method, array $args = [])
      {
          $method = strtolower($method);
          if ($this->hasMethod($method) && $this->has($this->_methodMap[$method][0])) {
              list($behavior, $callMethod) = $this->_methodMap[$method];
  
              return call_user_func_array([$this->_loaded[$behavior], $callMethod], $args);
          }
  
          throw new BadMethodCallException(
              sprintf('Cannot call "%s" it does not belong to any attached behavior.', $method)
          );
      }
code: public function call($method, array $args = [])
      {
          $method = strtolower($method);
          if ($this->hasMethod($method) && $this->has($this->_methodMap[$method][0])) {
              list($behavior, $callMethod) = $this->_methodMap[$method];
  
              return call_user_func_array([$this->_loaded[$behavior], $callMethod], $args);
          }
  
          throw new BadMethodCallException(
              sprintf('Cannot call "%s" it does not belong to any attached behavior.', $method)
          );
      }
code_tokens: public function call ( $ method , array $ args = [ ] ) { $ method = strtolower ( $ method ) ; if ( $ this -> hasMethod ( $ method ) && $ this -> has ( $ this -> _methodMap [ $ method ] [ 0 ] ) ) { list ( $ behavior , $ callMethod ) = $ this -> _methodMap [ $ method ] ; return call_user_func_array ( [ $ this -> _loaded [ $ behavior ] , $ callMethod ] , $ args ) ; } throw new BadMethodCallException ( sprintf ( 'Cannot call "%s" it does not belong to any attached behavior.' , $ method ) ) ; }
docstring: Invoke a method on a behavior.
  
  @param string $method The method to invoke.
  @param array $args The arguments you want to invoke the method with.
  @return mixed The return value depends on the underlying behavior method.
  @throws \BadMethodCallException When the method is unknown.
docstring_tokens: Invoke a method on a behavior .