docs: def parse(self):
          """
          Parses a GIT URL and returns an object.  Raises an exception on invalid
          URL.
  
          :returns: Parsed object
          :raise: :class:`.ParserError`
          """
          d = {
              'pathname': None,
              'protocols': self._get_protocols(),
              'protocol': 'ssh',
              'href': self._url,
              'resource': None,
              'user': None,
              'port': None,
              'name': None,
              'owner': None,
          }
          for regex in POSSIBLE_REGEXES:
              match = regex.search(self._url)
              if match:
                  d.update(match.groupdict())
                  break
          else:
              msg = "Invalid URL '{}'".format(self._url)
              raise ParserError(msg)
  
          return Parsed(**d)