private JsonRpc GetRpcServer(Stream stream, IResolveAssemblyReferenceTaskHandler handler)
        {
            IJsonRpcMessageHandler serverHandler = RpcUtils.GetRarMessageHandler(stream);
            JsonRpc rpc = new JsonRpc(serverHandler, handler);

            return(rpc);
        }
        internal RarController(
            string pipeName,
            Handshake handshake,
            Func <string, int?, int?, int, bool, NamedPipeServerStream> namedPipeServerFactory,
            Func <Handshake, NamedPipeServerStream, int, bool> validateHandshakeCallback,
            IResolveAssemblyReferenceTaskHandler resolveAssemblyReferenceTaskHandler,
            TimeSpan?timeout = null)
        {
            _pipeName  = pipeName;
            _handshake = handshake;
            _namedPipeServerFactory              = namedPipeServerFactory;
            _validateHandshakeCallback           = validateHandshakeCallback;
            _resolveAssemblyReferenceTaskHandler = resolveAssemblyReferenceTaskHandler;

            if (timeout.HasValue)
            {
                Timeout = timeout.Value;
            }
        }