GrExpression[] (@NotNull GrCall call) { GrArgumentList argumentList = call.getArgumentList(); if (argumentList == null) return GrExpression.EMPTY_ARRAY; GrClosableBlock[] closureArguments = call.getClosureArguments(); GrExpression[] expressionArguments = argumentList.getExpressionArguments(); GrNamedArgument[] namedArguments = argumentList.getNamedArguments(); int length = expressionArguments.length + closureArguments.length; int k = 0; if (namedArguments.length > 0) { length++; k = 1; } GrExpression[] res = new GrExpression[length]; for (GrExpression expressionArgument : expressionArguments) { res[k++] = expressionArgument; } for (GrClosableBlock closureArgument : closureArguments) { res[k++] = closureArgument; } return res; }