@Override
 public void visitElement(PsiElement element) {
   if (element.getChildren().length == 0) {
     myResult.append(element.getText());
   } else {
     super.visitElement(element);
   }
 }
 @Override
 public void visitPyReferenceExpression(PyReferenceExpression node) {
   super.visitPyReferenceExpression(node);
   final PsiElement result = node.getReference().resolve();
   if (result != null && PsiTreeUtil.getParentOfType(result, ScopeOwner.class) == myScope) {
     if (result instanceof PyParameter && myScope instanceof PyFunction) {
       final PyFunction function = (PyFunction) myScope;
       final PyParameter[] parameters = function.getParameterList().getParameters();
       if (parameters.length > 0 && result == parameters[0]) {
         final PyFunction.Modifier modifier = function.getModifier();
         if (modifier != PyFunction.Modifier.STATICMETHOD) {
           // 'self' is not a local scope dependency
           return;
         }
       }
     }
     hasLocalScopeDependencies = true;
   }
 }