@Nullable
  public PsiType getTypeByResult(PsiType leftType, PsiType rightType, List<Argument> arguments, GroovyResolveResult resolveResult, GrExpression context) {
    if (resolveResult.isApplicable() && !PsiUtil.isDGMMethod(resolveResult.getElement())) {
      return getTypeFromResult(resolveResult, arguments, context);
    }

    if (TypesUtil.isNumericType(leftType) && TypesUtil.isNumericType(rightType)) {
      return inferNumericType(leftType, rightType, context);
    }

    return getTypeFromResult(resolveResult, arguments, context);
  }
@Nullable
  public PsiType getTypeByResult(PsiType leftType, PsiType rightType, List<Argument> arguments, GroovyResolveResult resolveResult, GrExpression context)