@Override
    public void visitReferenceExpression(@NotNull GrReferenceExpression expression) {
      super.visitReferenceExpression(expression);
      if (org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.isSuperReference(expression)) {
        final GrExpression qualifier = expression.getQualifier();
        if (qualifier instanceof GrReferenceExpression && ((GrReferenceExpression)qualifier).isReferenceTo(mySourceClass)) {
          try {
            expression.putCopyableUserData(SUPER_REF, Boolean.TRUE);
          }
          catch (IncorrectOperationException e) {
            LOG.error(e);
          }
        }
      }
      else if (org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.isThisReference(expression)) {
        final GrExpression qualifier = expression.getQualifier();
        if (qualifier instanceof GrReferenceExpression && ((GrReferenceExpression)qualifier).isReferenceTo(mySourceClass)) {
          try {
            expression.putCopyableUserData(THIS_REF, Boolean.TRUE);
          }
          catch (IncorrectOperationException e) {
            LOG.error(e);
          }
        }
      }

    }
@Override
    public void visitReferenceExpression(@NotNull GrReferenceExpression expression)