@NotNull
      @Override
      public String generateReplacement(@NotNull PsiElementFactory factory,
                                        @NotNull CommentTracker ct,
                                        @NotNull PsiReferenceExpression optionalRef,
                                        PsiElement trueElement,
                                        PsiElement falseElement) {
        PsiAssignmentExpression trueAssignment = ExpressionUtils.getAssignment(trueElement);
        PsiAssignmentExpression falseAssignment = ExpressionUtils.getAssignment(falseElement);
        LOG.assertTrue(trueAssignment != null);
        LOG.assertTrue(falseAssignment != null);
        PsiExpression lValue = trueAssignment.getLExpression();
        PsiExpression trueValue = trueAssignment.getRExpression();
        PsiExpression falseValue = falseAssignment.getRExpression();
        LOG.assertTrue(trueValue != null);
        LOG.assertTrue(falseValue != null);
        return lValue.getText() + " = " + generateOptionalUnwrap(factory, ct, optionalRef, trueValue, falseValue, lValue.getType()) + ";";
      }
@NotNull
      @Override
      public String generateReplacement(@NotNull PsiElementFactory factory,
                                        @NotNull CommentTracker ct,
                                        @NotNull PsiReferenceExpression optionalRef,
                                        PsiElement trueElement,
                                        PsiElement falseElement)