/**
  * @param $type
  * @param $mockRequest
  *
  * @return ReplacementRequest
  */
 private static function getInstanceForTypeAndRequest($type, $mockRequest)
 {
     $instance = new self();
     switch ($type) {
         case 'class':
             $instance->isFunction = false;
             $instance->isClass = true;
             $instance->isStaticMethod = false;
             $instance->isMethod = false;
             $instance->isInstanceMethod = false;
             $instance->requestClassName = $mockRequest;
             $instance->methodName = false;
             break;
         case 'method':
             $request = preg_split('/(::|->)/', $mockRequest);
             $className = $request[0];
             $methodName = $request[1];
             $reflection = new \ReflectionMethod($className, $methodName);
             $instance->isFunction = false;
             $instance->isClass = false;
             $instance->isMethod = true;
             $instance->isInstanceMethod = !$reflection->isStatic();
             $instance->ensure_matching_symbol($mockRequest);
             $instance->isStaticMethod = $reflection->isStatic();
             $instance->requestClassName = $reflection->class;
             $instance->methodName = $reflection->name;
             break;
         case 'function':
             $instance->isFunction = true;
             $instance->isClass = false;
             $instance->isMethod = false;
             $instance->isStaticMethod = false;
             $instance->isInstanceMethod = false;
             $instance->requestClassName = '';
             $instance->methodName = $mockRequest;
             break;
     }
     return $instance;
 }