public function __construct($repositoryUrl, $pluginFile, $branch = 'master', $checkPeriod = 12, $optionName = '', $muPluginFile = '')
 {
     $this->repositoryUrl = $repositoryUrl;
     $this->branch = empty($branch) ? 'master' : $branch;
     $path = @parse_url($repositoryUrl, PHP_URL_PATH);
     if (preg_match('@^/?(?P<username>[^/]+?)/(?P<repository>[^/#?&]+?)/?$@', $path, $matches)) {
         $this->userName = $matches['username'];
         $this->repositoryName = $matches['repository'];
     } else {
         throw new InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"');
     }
     parent::__construct($repositoryUrl, $pluginFile, '', $checkPeriod, $optionName, $muPluginFile);
 }