private function assertInvalidIntervalTimestamps($start, $end)
 {
     try {
         TimeInterval::fromUnixTimestamps($start, $end);
         $this->fail('should have thrown exception');
     } catch (Exception $exc) {
     }
 }
 /**
  * Return top most modified files during the given period
  * 
  * @param String  $sessionKey Session key of the requesting user
  * @param Integer $group_id    ID of the project the subversion repository belongs to
  * @param Integer $start_date  Start of period (unix timestamp)
  * @param Integer $end_date    End of period   (unix timestamp)
  * @param Integer $limit       Max number of files to return
  * 
  * @return ArrayOfSvnPathInfo
  */
 public function getSvnStatsFiles($sessionKey, $group_id, $start_date, $end_date, $limit)
 {
     try {
         $current_user = $this->soap_request_validator->continueSession($sessionKey);
         $project = $this->soap_request_validator->getProjectById($group_id, 'getSvnStatsFiles');
         $this->soap_request_validator->assertUserCanAccessProject($current_user, $project);
         $svn_log = new SVN_LogFactory($project);
         $files = $svn_log->getTopModifiedFiles($current_user, TimeInterval::fromUnixTimestamps($start_date, $end_date), $limit);
         return $files;
     } catch (Exception $e) {
         return new SoapFault((string) $e->getCode(), $e->getMessage());
     }
 }