@classmethod
def resolve(cls, url, gw=None, key=None, identity=None, certificates=None,
    auth=None, p_auth=None, crypto=None, internal=False, buf_size=None,
    conf=None, nowait=False, reactor=None, processor=None):
    """See :meth:`versile.orb.url.VUrl.resolve`\\ .

        :param reactor:   a (running) reactor for the link
        :param processor: processor for remote calls
        :type  processor: :class:`versile.common.processor.VProcessor`

        Similar to :meth:`versile.orb.url.VUrl.resolve` but adds
        *reactor* and *processor* as optional keyword arguments which
        are passed to :meth:`connect`\\ . This enables setting reactor
        and/or processor for the link of the resolved VRI.

        """
    if not nowait:
        _res = cls.resolve
        call = _res(url=url, gw=gw, key=key, identity=identity,
            certificates=certificates, auth=auth, p_auth=p_auth, crypto=
            crypto, internal=internal, buf_size=buf_size, conf=conf,
            reactor=reactor, processor=processor, nowait=True)
        return call.result()
    url = cls.parse(url=url)
    result = cls._create_cls_resolve_result()
    result._connect(url=url, gw=gw, key=key, identity=identity,
        certificates=certificates, auth=auth, p_auth=p_auth, crypto=crypto,
        internal=internal, buf_size=buf_size, conf=conf, reactor=reactor,
        processor=processor)
    return result
