boolean (GrReferenceExpression ref) { if (ref.getQualifier() == null) return false; if (ref.hasAt()) return false; final PsiElement resolved = ref.resolve(); if (!(resolved instanceof PsiMember)) return false; if (!((PsiMember)resolved).hasModifierProperty(PsiModifier.STATIC)) return false; if (GroovyConfigUtils.isAtLeastGroovy40(ref)) { PsiClass container = ((PsiMember)resolved).getContainingClass(); if (container != null && container.isInterface()) { return false; } } PsiElement copyResolved; final PsiElement parent = ref.getParent(); if (parent instanceof GrMethodCall) { final GrMethodCall copy = (GrMethodCall)parent.copy(); GrReferenceExpression invoked = (GrReferenceExpression)copy.getInvokedExpression(); assert invoked != null; invoked.setQualifier(null); copyResolved = ((GrReferenceExpression)copy.getInvokedExpression()).resolve(); } else { final GrReferenceExpression copy = (GrReferenceExpression)ref.copy(); copy.setQualifier(null); copyResolved = copy.resolve(); } return ref.getManager().areElementsEquivalent(copyResolved, resolved); }