protected override SyntaxToken CreateMethodName()
 {
     // change this to more smarter one.
     var semanticModel = this.SemanticDocument.SemanticModel;
     var nameGenerator = new UniqueNameGenerator(semanticModel);
     var scope = this.CSharpSelectionResult.GetContainingScope();
     return SyntaxFactory.Identifier(nameGenerator.CreateUniqueMethodName(scope, "NewMethod"));
 }
                protected override SyntaxToken CreateMethodName()
                {
                    var methodName = "NewMethod";
                    var containingScope = this.CSharpSelectionResult.GetContainingScope();

                    methodName = GetMethodNameBasedOnExpression(methodName, containingScope);

                    var semanticModel = this.SemanticDocument.SemanticModel;
                    var nameGenerator = new UniqueNameGenerator(semanticModel);
                    return SyntaxFactory.Identifier(nameGenerator.CreateUniqueMethodName(containingScope, methodName));
                }