/**
  * @param string $message
  * @param integer $code
  * @param Exception $previous
  * @param ReflectionParameter $reflectionParameter
  */
 public function __construct($message, $code = 0, Exception $previous = null, ReflectionParameter $reflectionParameter = null)
 {
     if ($reflectionParameter) {
         $this->collaboratorName = $this->extractCollaboratorName($reflectionParameter);
     }
     parent::__construct($message . ': ' . $this->collaboratorName, $code, $previous);
 }
 /**
  * @param string $message
  * @param mixed  $subject
  * @param string $method
  * @param array  $arguments
  */
 public function __construct($message, $subject, $method, array $arguments = array())
 {
     parent::__construct($message);
     $this->subject = $subject;
     $this->method = $method;
     $this->arguments = $arguments;
 }
 /**
  * @param string $message
  * @param mixed  $subject
  * @param string $interface
  */
 public function __construct($message, $subject, $interface)
 {
     parent::__construct($message);
     $this->subject = $subject;
     $this->interface = $interface;
 }
 /**
  * @param string $message
  * @param string $classname
  */
 public function __construct($message, $classname)
 {
     parent::__construct($message);
     $this->classname = $classname;
 }
 /**
  * @param string $message
  * @param mixed  $subject
  * @param string $property
  */
 public function __construct($message, $subject, $property)
 {
     parent::__construct($message);
     $this->subject = $subject;
     $this->property = $property;
 }