@Override
 public Boolean caseElseStart(ElseStart object) {
   popIndentationTwice();
   acceptor.acceptElse();
   computeNextPart(object);
   pushTemplateIndentationTwice(
       computeInitialIndentation(
           (RichString) object.getIfConditionStart().getRichStringIf().getElse()));
   return Boolean.TRUE;
 }
 @Override
 public Boolean caseRichStringIf(RichStringIf object) {
   IfConditionStart start = factory.createIfConditionStart();
   start.setRichStringIf(object);
   addToCurrentLine(start);
   doSwitch(object.getThen());
   for (RichStringElseIf elseIf : object.getElseIfs()) {
     ElseIfCondition elseIfStart = factory.createElseIfCondition();
     elseIfStart.setIfConditionStart(start);
     elseIfStart.setRichStringElseIf(elseIf);
     addToCurrentLine(elseIfStart);
     doSwitch(elseIf.getThen());
   }
   if (object.getElse() != null) {
     ElseStart elseStart = factory.createElseStart();
     elseStart.setIfConditionStart(start);
     addToCurrentLine(elseStart);
     doSwitch(object.getElse());
   }
   EndIf end = factory.createEndIf();
   end.setIfConditionStart(start);
   addToCurrentLine(end);
   return Boolean.TRUE;
 }