boolean (GrExpression expression) { if (expression instanceof GrMethodCallExpression) { expression = ((GrMethodCallExpression)expression).getInvokedExpression(); } if (!(expression instanceof GrReferenceExpression)) { return false; } if (GroovyTokenTypes.mOPTIONAL_CHAIN_DOT.equals(((GrReferenceExpression)expression).getDotTokenType())) { return true; } return qualifierHasSafeChain(((GrReferenceExpression)expression).getQualifierExpression()); }