public bool TryGetSymbol(TArgumentSyntax argument, out IParameterSymbol parameter)
        {
            parameter = null;

            if (!argumentList.Contains(argument) ||
                MethodSymbol == null ||
                MethodSymbol.IsVararg)
            {
                return(false);
            }

            var nameColonArgumentIdenfitier = GetNameColonArgumentIdentifier(argument);

            if (nameColonArgumentIdenfitier != null)
            {
                parameter = MethodSymbol.Parameters
                            .FirstOrDefault(symbol => symbol.Name == nameColonArgumentIdenfitier.Value.ValueText);
                return(parameter != null);
            }

            var argumentIndex  = argumentList.IndexOf(argument);
            var parameterIndex = argumentIndex;

            if (parameterIndex >= MethodSymbol.Parameters.Length)
            {
                var lastParameter = MethodSymbol.Parameters.Last();
                parameter = lastParameter.IsParams ? lastParameter : null;
                return(parameter != null);
            }
            parameter = MethodSymbol.Parameters[parameterIndex];
            return(true);
        }
 public override bool Contains(TNode node)
 => syntaxList.Contains(SyntaxWrapper.Unwrap(node));