@Nullable
    @Override
    public String generate(@NotNull ChainVariable inVar,
                           @NotNull ChainVariable outVar,
                           @NotNull String code,
                           @NotNull OptionalToIfContext context) {
      myElseFn.transform(context);
      myIfPresentFn.transform(context, outVar.getName());
      context.addBeforeStep(outVar.getDeclaration("null"));
      context.addAfterStep("if(" + outVar.getName() + "==null){\n" +
                           "{\n" + myElseFn.getStatementText() + "\n}" +
                           "}" +
                           "else{\n" +
                           "{\n" + myIfPresentFn.getStatementText() + "\n}" +
                           "}\n");
      return outVar.getName() + "=" + inVar.getName() + ";";
    }
@Nullable
    @Override
    public String generate(@NotNull ChainVariable inVar,
                           @NotNull ChainVariable outVar,
                           @NotNull String code,
                           @NotNull OptionalToIfContext context)