@Override
  public void visitIndexProperty(@NotNull GrIndexProperty expression) {
    super.visitIndexProperty(expression); // visitExpression

    if (hasErrorElements(expression)) return;

    if (GroovyIndexPropertyUtil.isClassLiteral(expression)) return;
    if (GroovyIndexPropertyUtil.isSimpleArrayAccess(expression)) return;

    GrArgumentList argumentList = expression.getArgumentList();
    GroovyMethodCallReference rValueReference = expression.getRValueReference();
    if (rValueReference != null) {
      new MethodCallReferenceHighlighter(rValueReference, argumentList, myHighlightSink).highlightMethodApplicability();
    }
    GroovyMethodCallReference lValueReference = expression.getLValueReference();
    if (lValueReference != null) {
      new MethodCallReferenceHighlighter(lValueReference, argumentList, myHighlightSink).highlightMethodApplicability();
    }
  }
@Override
  public void visitIndexProperty(@NotNull GrIndexProperty expression)