private string InvokeNextMethodCore(Action <IChainedMethodsModifier>?action) { EnsureHasChainedMethod(); if (action is null) { return(MethodSignature.GetInvocationString(MethodSignature.TypeParameters.Select(x => x.GenericName), MethodSignature.Arguments.Select(x => x.ArgName))); } var modifier = new ChainedMethodModifier(MethodSignature); action(modifier); return(modifier.GetInvocationString()); }