public CommandResult <T> Analyze(QueryContext <T> arguments)
        {
            if (arguments.GetResult() != null)
            {
                return(CommandResult.Ok(arguments.GetResult()));
            }

            return(CommandResult.Failure <T>(string.Join(Environment.NewLine,
                                                         arguments.GetAllMessages().Select(message => message.Message))));
        }