public UnixSocketConnection(CommandLineHandler.CommandLineOptions commandLine)
        {
            CommandLineHandler.CommandOption socketFileOption = commandLine.FindCommandOptionByName("SocketFile");

            if(socketFileOption == null || socketFileOption.OptionType !=
               CommandLineHandler.CommandOption.CommandOptionType.Value)
                throw new ArgumentException("No socket file specified!");
            else
            {
                _socketFile = socketFileOption.Arguments[0];
                _logger.DebugFormat("Using socket file '{0}'", _socketFile);
            }
        }
        public NamedPipeConnection(CommandLineHandler.CommandLineOptions commandLine)
        {
            CommandLineHandler.CommandOption pipeNameOption = commandLine.FindCommandOptionByName("PipeName");

            if(pipeNameOption == null || pipeNameOption.OptionType !=
               CommandLineHandler.CommandOption.CommandOptionType.Value)
                _logger.WarnFormat("No pipe name has been specified, using default '{0}'", _pipeName);
            else
            {
                _pipeName = pipeNameOption.Arguments[0];
                _logger.DebugFormat("Using pipe name '{0}'", _pipeName);
            }
        }