protected function checkPreEventCanChangeArguments($method, array $args, array $expectedArgs)
 {
     $internalMethod = 'internal' . ucfirst($method);
     $eventName = $method . '.pre';
     // init mock
     $this->_storage = $this->getMockForAbstractAdapter(array($internalMethod));
     $this->_storage->getEventManager()->attach($eventName, function ($event) use($expectedArgs) {
         $params = $event->getParams();
         foreach ($expectedArgs as $k => $v) {
             $params[$k] = $v;
         }
     });
     // set expected arguments of internal method call
     $tmp = $this->_storage->expects($this->once())->method($internalMethod);
     $equals = array();
     foreach ($expectedArgs as $v) {
         $equals[] = $this->equalTo($v);
     }
     call_user_func_array(array($tmp, 'with'), $equals);
     // run
     call_user_func_array(array($this->_storage, $method), $args);
 }