String (@NotNull ChainVariable inVar, @NotNull ChainVariable outVar, @NotNull String code, @NotNull OptionalToIfContext context) { myFn.transform(context); if (!SideEffectChecker.mayHaveSideEffects(myFn.getExpression())) { context.setInitializer(myFn.getText()); return context.createResult(inVar.getName()); } context.addBeforeStep(outVar.getDeclaration("null")); context.addAfterStep("if(" + outVar.getName() + "==null){\n" + outVar.getName() + "=" + myFn.getStatementText() + "\n}" + context.createResult(outVar.getName())); return outVar.getName() + "=" + inVar.getName() + ";"; }