boolean (GrApplicationStatement statement1, GrApplicationStatement statement2) { final GrExpression funExpression1 = statement1.getInvokedExpression(); final GrExpression funExpression2 = statement2.getInvokedExpression(); if (!expressionsAreEquivalent(funExpression1, funExpression2)) { return false; } final GrArgumentList argumentList1 = statement1.getArgumentList(); final GrArgumentList argumentList2 = statement2.getArgumentList(); final GrExpression[] args1 = argumentList1.getExpressionArguments(); final GrExpression[] args2 = argumentList2.getExpressionArguments(); if (!expressionListsAreEquivalent(args1, args2)) { return false; } final GrNamedArgument[] namedArgs1 = argumentList1.getNamedArguments(); final GrNamedArgument[] namedArgs2 = argumentList2.getNamedArguments(); if (!namedArgumentListsAreEquivalent(namedArgs1, namedArgs2)) { return false; } return true; }