docs: protected XExpression _generate(XIfExpression ifStatement, IAppendable it, IExtraLanguageGeneratorContext context) {
  		it.append("if "); //$NON-NLS-1$
  		generate(ifStatement.getIf(), it, context);
  		it.append(":"); //$NON-NLS-1$
  		it.increaseIndentation().newLine();
  		if (ifStatement.getThen() != null) {
  			generate(ifStatement.getThen(), context.getExpectedExpressionType(), it, context);
  		} else if (context.getExpectedExpressionType() == null) {
  			it.append("pass"); //$NON-NLS-1$
  		} else {
  			it.append("return ").append(toDefaultValue(context.getExpectedExpressionType().toJavaCompliantTypeReference())); //$NON-NLS-1$
  		}
  		it.decreaseIndentation();
  		if (ifStatement.getElse() != null) {
  			it.newLine().append("else:"); //$NON-NLS-1$
  			it.increaseIndentation().newLine();
  			generate(ifStatement.getElse(), context.getExpectedExpressionType(), it, context);
  			it.decreaseIndentation();
  		} else if (context.getExpectedExpressionType() != null) {
  			it.newLine().append("else:"); //$NON-NLS-1$
  			it.increaseIndentation().newLine();
  			it.append("return ").append(toDefaultValue(context.getExpectedExpressionType().toJavaCompliantTypeReference())); //$NON-NLS-1$
  			it.decreaseIndentation();
  		}
  		return ifStatement;
  	}