@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement startElement, @NotNull ModPsiUpdater updater) {
      final PsiAssignmentExpression expression = ObjectUtils.tryCast(startElement, PsiAssignmentExpression.class);
      if (expression == null) {
        return;
      }
      final PsiJavaToken token = expression.getOperationSign();
      final IElementType tokenType = token.getTokenType();
      if (!JavaTokenType.ASTERISKEQ.equals(tokenType) && !JavaTokenType.DIVEQ.equals(tokenType)) {
        return;
      }
      final PsiBinaryExpression rhs = getRhs(expression);
      if (rhs == null) {
        return;
      }
      final CommentTracker tracker = new CommentTracker();
      final PsiExpression operand = rhs.getLOperand();
      final Number number = JavaPsiMathUtil.getNumberFromLiteral(operand);
      if (number != null) {
        PsiReplacementUtil.replaceExpression(operand, number + ".0", tracker);
      }
      else {
        PsiReplacementUtil.replaceExpression(operand, "(double)" + operand.getText(), tracker);
      }
    }
@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement startElement, @NotNull ModPsiUpdater updater)