/// <summary>
 /// Find and return parameters' VariableInfo by the given NameUse        
 /// </summary>
 /// <param name="vb"></param>
 /// <returns></returns>
 private VariableInfo FindParaVarInfo(NameUse vb)
 {
     if(vb == null) {
         return null;
     }
     var decl = vb.FindMatches().FirstOrDefault() as VariableDeclaration;
     if(decl != null) {
         foreach(var varInfo in ParametersInfo) {
             if(varInfo.Variable.Equals(decl)) {
                 return varInfo;
             }
         }
     }
     return null;
 }
 /// <summary>
 /// Find field varible declaration for the given variable (return null if it's a local variable)
 /// </summary>
 /// <param name="vb"></param>
 /// <returns></returns>
 private VariableDeclaration FindFieldVarDecl(NameUse vb)
 {
     if(vb == null) {
         return null;
     }
     var decl = vb.FindMatches().FirstOrDefault() as VariableDeclaration;
     if(decl != null) {
         //if did not find in the current list, but method is matching
         MethodDefinition md = decl.ParentStatement.GetAncestorsAndSelf<MethodDefinition>().FirstOrDefault();
         if(md == null || !Method.Equals(md)) {
             return decl;
         }
     }
     return null;
 }