@Override
  protected PsiClass @NotNull [] findPossibleScopes(GrExpression expression,
                                                    GrVariable variable,
                                                    StringPartInfo partInfo,
                                                    Editor editor) {
    PsiElement place = getCurrentPlace(expression, variable, partInfo);
    PsiClass aClass = PsiUtil.getContextClass(place);
    if (aClass instanceof GroovyScriptClass) {
      return new PsiClass[]{aClass};
    }
    else {
      List<PsiClass> result = new SmartList<>(aClass);
      while (aClass != null) {
        aClass = PsiTreeUtil.getParentOfType(aClass, PsiClass.class);
        ContainerUtil.addIfNotNull(result, aClass);
      }
      return result.toArray(PsiClass.EMPTY_ARRAY);
    }
  }
@Override
  protected PsiClass @NotNull [] findPossibleScopes(GrExpression expression,
                                                    GrVariable variable,
                                                    StringPartInfo partInfo,
                                                    Editor editor)