@Override
  public PsiElement @NotNull [] getAnonymousElements(@NotNull PsiElement parent) {
    if (suite(parent)) {
      if (parent instanceof PsiCompiledElement) {
        parent = parent.getNavigationElement();
      }
      if (suite(parent) && !(parent instanceof PsiCompiledElement)) {
        final List<PsiElement> elements = new ArrayList<>();
        final PsiElement element = parent;
        element.accept(new JavaRecursiveElementWalkingVisitor() {
          @Override
          public void visitAnonymousClass(@NotNull PsiAnonymousClass aClass) {
            final PsiExpressionList arguments = aClass.getArgumentList();
            if (arguments != null) {
              for (PsiExpression expression : arguments.getExpressions()) {
                visitExpression(expression);
              }
            }
            elements.add(aClass);
          }

          @Override
          public void visitClass(@NotNull PsiClass aClass) {
            if (aClass == element) {
              super.visitClass(aClass);
            }
          }
        });

        if (! elements.isEmpty()) {
          return elements.toArray(PsiElement.EMPTY_ARRAY);
        }
      }
    }
    return PsiElement.EMPTY_ARRAY;
  }
@Override
  public PsiElement @NotNull [] getAnonymousElements(@NotNull PsiElement parent)