private string MethodBase(TypeSourceArgs source, string nextMethodInvoke)
        {
            var node = new CodeNodeBuilder();

            node.If($"{(_isInverted ? "!" : "")}({_condition.GetEvalString(source.ToString(), Type, _expression)})", node => {
                node.Return(nextMethodInvoke);
            });
            node.Return(DeserializeResult.Success.ToDisplayString());

            return(node.ToString());
        }
        public string GetMethodBody(string methodId, IChainMethodArgsProvider provider, IComponentProvider components, IThrowCollection throwCollection)
        {
            var node = new CodeNodeBuilder();

            node.If($"{IsInvert()}({GetConditionString(provider)})", node => {
                node.Return(provider.InvokeNextMethod());
            });
            node.Return(DeserializeResult.Success.ToDisplayString());

            return(node.ToString());

            string IsInvert() => _isInverted ? "!" : "";
        }